• No se han encontrado resultados

APÉNDICE A. DFD s del Sistema para el Diagnóstico de Pancreatitis. PanDiag::DataBase. PanDiag::ProcesamientoImagenes. «uses» «uses» PanDiag::GUI

N/A
N/A
Protected

Academic year: 2021

Share "APÉNDICE A. DFD s del Sistema para el Diagnóstico de Pancreatitis. PanDiag::DataBase. PanDiag::ProcesamientoImagenes. «uses» «uses» PanDiag::GUI"

Copied!
11
0
0

Texto completo

(1)

PanDiag::DataBase PanDiag::GUI PanDiag::ProcesamientoImagenes ShellNeuronal::ShellNeuronal RedNeuronal::RNA RNA::Entrenamiento RNA::FuncionesDeActivacion «uses» «uses» «uses» «uses» «uses» «uses»

APÉNDICE A

(2)

RNA::Neuron RNA::RedNeuronal RNA::RedNeuronalStrc FuncionesDeActivacion::FuncionEscalonada FuncionesDeActivacion::FuncionSigmoide «interface» FuncionesDeActivacion::FuncionDeActivacion «uses» -Conjunto 1 -Elemento * Entrenamiento::EntrenadorRetro -Entrenado * -Entrenador 1 «interface» Entrenamiento::ProgresoEntrenamientoListener ShellNeuronal::EditorVCGUI ShellNeuronal::FormMatrizDeConfusion ShellNeuronal::FormProgreso ShellNeuronal::FormResultado ShellNeuronal::ShellGUI «uses» «uses» «uses» «uses» -Contiene 1 -Es parte de 1 GUI::MainGUI GUI::ManejadorDeRepositoriosGUI GUI::OpenDirectoryDialog GUI::RepresentacionInternaGUI GUI::VisorSeleccion «interface» GUI::FilenameEventListener «uses» «uses» «uses» «uses» -Es parte de 1 -Contiene 1 -Contiene 1 -Es parte de 1 DataBase::RepositorioDeRegistros DataBase::RegistroDCM DataBase::RepositorioEnumerator «interface» DataBase::RepositiorioRegListener ProcesamientoImagenes::ExtractorDeCaracteristicas ProcesamientoImagenes::ExtractorPorVentanas ProcesamientoImagenes::MapaNormalizado AxezDICOMax::AxezDICOMX «uses» -Contiene 1 -Es elemento de * -Manejador 1

-Es manejado por 1 «uses» «uses» «uses» «uses» -Contiene 1 -Pertenece a 5 -Es contenido 1 -Contiene 1 1 *

(3)

+EditorVCGUI()

#Dispose(in disposing : bool) +Tabla() : DataTable -InitializeComponent()

-button1_Click(in sender : object, in e : EventArgs) -dataGrid1 : DataGrid

-button1 : Button -button2 : Button

ShellNeuronal::EditorVCGUI

+FormMatrizDeConfusion() #Dispose(in disposing : bool) -InitializeComponent()

-label2_Click(in sender : object, in e : EventArgs) -button1_Click(in sender : object, in e : EventArgs) +Valores() : double[,] -label1 : Label -label2 : Label -label3 : Label -label4 : Label -label5 : Label -panel1 : Panel -label0101 : Label -label1001 : Label -label0110 : Label -label1010 : Label -button1 : Button -label6 : Label -label7 : Label

-components : Container = null

ShellNeuronal::FormMatrizDeConfusion

+FormResultado(in salida_real : double[], in salidas_deseadas : double[][]) #Dispose(in disposing : bool)

-InitializeComponent()

-FormResultado_Load(in sender : object, in e : EventArgs) -crearTablaSalidasReales() : DataTable

-crearTablaSalidasDeseada(in salida_deseada : double[]) : DataTable -button1_Click(in sender : object, in e : EventArgs)

-dataGrid1 : DataGrid -dataGrid2 : DataGrid -label1 : Label -button1 : Button

-salida_real : double[] = null -salidas_deseadas : double[][] = null -labelDstEuclidiana : Label -components : Container = null

ShellNeuronal::FormResultado

Paquete ShellNeuronal. Contiene las clases que forman un ShellNeuronal. Cada una de las clases es un

componente visual y son mandadas a llamar por ShellGUI, el punto de inicio de la librería.

Clase EditorVCGui. Control visual que permite editar vectores de entrenamiento. Muestra una tabla donde se

pueden editar las entradas y las salidas de cada vector, agregar más vectores o eliminarlos. Los vectores que

muestre este control son con los que trabajará el ShellNeuronal. Utilizada por ShellGUI.

Clase FormMatrizDeConfusión. Control visual que muestra los resultados de hacer la evaluación de una red

neuronal. Los resultados de la evaluación se muestran en forma de una matriz de confusión. Utilizada por

ShellGUI.

Clase FormProgreso. Control visual que permite ver el progreso del entrenamiento del mismo. Muestra el error

total por cada iteración de la red, el tiempo requerido para cada iteración y el numero de iteraciones. Utilizada

por ShellGUI.

Clase FormResultado. Control visual que muestra el resultado de evaluar un vector de entrada. Realiza la

comparación de la salida real de la red con los vectores de salida deseados informando al usuario de cual es el

vector deseado más cercano al vector obtenido. Utilizada por ShellGUI.

Clase ShellGUI. Punto de entrada de la aplicación. Control visual que integra toda la funcionalidad de un Shell

neuronal sencillo. Utiliza las clases en el paquete ShellNeuronal para interactuar con el usuario.

(4)

+FormProgreso()

#Dispose(in disposing : bool) +Entrenador() : EntrenadorRetro +Iteracion() : int

+setMaxIteracion() : int

+TiempoPorIteracion() : TimeSpan -InitializeComponent()

-button1_Click(in sender : object, in e : EventArgs) -label1 : Label -progressBar1 : ProgressBar -label2 : Label -label3 : Label -label4 : Label -label5 : Label -label6 : Label -label7 : Label -labelError : Label -button1 : Button

-entrenador : EntrenadorRetro = null -labelTiempoTotal : Label

-label9 : Label -labelIteracion : Label -components : Container = null

ShellNeuronal::FormProgreso

+ShellGUI()

#Dispose(in disposing : bool) -InitializeComponent() -Main()

-CrearTablaEntrenamiento() : DataTable -CrearTablaEntrada() : DataTable

-button8_Click(in sender : object, in e : EventArgs) -buttonCrearRed_Click(in sender : object, in e : EventArgs) -buttonListo_Click(in sender : object, in e : EventArgs)

-buttonReiniciarPesos_Click(in sender : object, in e : EventArgs) -buttonGuardarRed_Click(in sender : object, in e : EventArgs) -guardarRedEnArchivo(in archivo : string)

-buttonCargarRed_Click(in sender : object, in e : EventArgs) +cargarRedDesdeArchivo(in archivo : string)

-buttonCambiarCoefAprend_Click(in sender : object, in e : EventArgs) -buttonAgregarVect_Click(in sender : object, in e : EventArgs) -importarVectorEntrenamiento(in archivo : string)

-exportarVectorEntrenamiento(in archivo : string) -buttonEvaluar_Click(in sender : object, in e : EventArgs) -buttonIniciarEntrena_Click(in sender : object, in e : EventArgs) -menuItemCrear_Click(in sender : object, in e : EventArgs) -menuItemReiniciar_Click(in sender : object, in e : EventArgs) -menuItemGuardar_Click(in sender : object, in e : EventArgs) -menuItemCargar_Click(in sender : object, in e : EventArgs) -menuItem10_Click(in sender : object, in e : EventArgs)

-menuItemModificarEntrenamiento_Click(in sender : object, in e : EventArgs) -menuItemIniciarEntrenamiento_Click(in sender : object, in e : EventArgs) -button1_Click(in sender : object, in e : EventArgs)

-button1_Click_1(in sender : object, in e : EventArgs) -menuItem2_Click(in sender : object, in e : EventArgs) +agregarVectorEntrenamiento(in vector : double[]) +agregarVectorPrueba(in vector : double[])

(5)

RNA

+Neuron(in nEntradas : int, in funcion : FuncionDeActivacion) +Neuron(in funcion : FuncionDeActivacion)

+agregarNeuronEntrada(in entrada : Neuron) +eliminarNeuronEntrada(in entrada : Neuron) +calcularSalida() : float

+reiniciarPesos(in r : Random)

+reiniciarPesos(in inferior : double, in superior : double, in r : Random) +OUT() : float

+IN() : float[] -salida : float = 0 +pesos : float[] = null +phi : float = 0 -entradas : float[] = null

+neurones_entradas : ArrayList = new ArrayList() +pesos_conexionistas : float[] = null

-funcion : FuncionDeActivacion = null -conexionista : bool = true

RNA::Neuron

+RedNeuronal(in numero_entradas : int, in cantidad_nodos : int[]) +reiniciarPesos()

+reiniciarPesos(in inferior : double, in superior : double) +calcularSalida() : float[] +Salida() : float[] +niveles : Neuron[][] +entradas : float[] -salida : float[] -neurones_salida : int = 0 RNA::RedNeuronal

+RedNeuronalStrc(in numero_entradas : int, in cantidad_nodos : int[]) +reiniciarPesos()

+reiniciarPesos(in inferior : double, in superior : double) +calcularSalida() : double[]

+Salida() : double[] +Entrada() : double[]

-calcularSalidaNeuron(in nivel : int, in neuron : int) : double +N_Entradas() : int

+N_Salidas() : int +NodosPorNivel() : int[]

+guardarEstado(in archivo : string) +cargarEstado(in archivo : string) +salidas : double[][]

+pesos : double[][][]

RNA::RedNeuronalStrc

Paquete RNA. Contiene las clases necesarias para crear y entrenar una RNA totalmente conectada y

alimentada hacia delante.

Clase Neuron. Contiene los métodos y propiedades que permiten crear un objeto que se comporta como un

Neuron en una RNA. Es utilizado por la clase ReNeuronal.

Clase RedNeuronal. Contiene los métodos y propiedades que permiten crear una red neuronal con una

programación orientada a objetos. Utiliza objetos de tipo Neuron para crear la red. El paquete RNA no contiene

clases o métodos para entrenar este tipo de red.

Clase RedNeuronalStrc. Permite crear RNAs con una programación estructurada. No depende de ninguna otra

clase para funcionar. Es posible entrenar una red de este tipo utilizando otras clases de este paquete.

(6)

RNA::FuncionesDeActivacion

+evalua(in suma : float) : float

+FuncionEscalonada(in bajo : int, in alto : int) -bajo : int

-alto : int = 0

FuncionesDeActivacion::FuncionEscalonada

+evalua(in suma : float) : float

FuncionesDeActivacion::FuncionSigmoide

+evalua(in suma : float) : float «interface»

FuncionesDeActivacion::FuncionDeActivacion

Paquete RNA.FuncionesDeActivacion. Contiene las clases que permiten definir diferentes tipos de

funciones de activación. Son utilizadas por la clase Neuron del paquete RNA.

Interfaz FuncionDeActivacion. Define las caracteríticas que debe tener una clase que servirá como

función de activación para un Neuron. Implementadas por FuncionEscalonada y FuncionSigmoide.

Clase FuncionEscalonada. Implementacion de la función de activación escalonada utilizando la interfaz

FuncionDeActivacion. Utilizada por la clase Neuron.

Clase FuncionSigmoide. Implementacion de la función de activación sigmoide utilizando la interfaz

FuncionDeActivacion. Utilizada por la clase Neuron.

(7)

RNA::Entrenamiento

+entrenar(in neuron : Neuron, in salida_real : int, in salida_deseada : int) +Coeficiente_Aprendizaje() : float

-coef_aprendizaje : float = 0

Entrenamiento::EntrenadorNeuron

+EntrenadorRetro(in n_entradas : int, in n_salidas : int) +Abortar() : bool +ProgresoListener() : ProgresoEntrenamientoListener +Red() : RedNeuronalStrc +Coeficiente_Aprendizaje() : double +ErrorTotal() : double +Entradas() : double[][] +Salidas() : double[][]

+entrenarRed(in iteraciones : int) +InicioThreadEntrenamiento() -red : RedNeuronalStrc = null -coef_ap : double = .5 -entradas : double[][] = null -salidas : double[][] = null -derivadas : double[][] = null -n_entradas : int = 0 -n_salidas : int = 0 -error_total : double = 0

-listener : ProgresoEntrenamientoListener = null -iteraciones : int = 0

-abortar : bool = false

Entrenamiento::EntrenadorRetro +EntrenamientoInicio(in numeroIteraciones : int)

+IteracionCompletada(in tiempo : TimeSpan, in total_completadas : int, in error : double) +EntrenamientoTermino(in tiempo_total : TimeSpan, in total_completadas : int, in error : double)

«interface»

Entrenamiento::ProgresoEntrenamientoListener

Paquete RNA.Entrenamiento. Contiene las clases necesarias para entrenar una RedNeuronalStrc.

Clase EntrenadorRetro. Permite entrenar un objeto del tipo RedNeuronalStrc utilizando el algoritmo de

retropropacación. Es utilizada por ShellNeuronal.

Interfaz ProgresoEntrenamientoListener. Permite a un usuario de la clase EntrenadorRetro verificar el

progreso de la operación. Implementada por la clase FormProgreso.

(8)

+RegistroDCM(in datos : string) +RegistroDCM(in archivo : FileInfo) +Nombre() : string +ID() : string +Acquisition_number() : int +Image_Number() : int +StudyDate() : string +Archivo() : string +SeriesDate() : int +AcquisitionDate() : int +ImageDate() : int +StudyTime() : string +SeriesTime() : string +AcquisitionTime() : string +ImageTime() : string +Necrotico() : bool +Inflamado() : bool +GrasaPeripancreatica() : bool +Coleccion() : bool +Colecciones() : bool +Seleccion() : Point[]

+Equals(in reg : RegistroDCM) : bool +ToString() : string -archivo : string = "" -pname : string = "" -pid : string = "" -acq_num : int = 0 -image_num : int = 0 -study_date : string = "" -series_date : int = 0 -acq_date : int = 0 -image_date : int = 0 -study_time : string = "" -series_time : string = "" -acq_time : string = "" -image_time : string = "" -necrotico : bool = false -inflamado : bool = false -grasa : bool = false -coleccion : bool = false -colecciones : bool = false -seleccion : Point[] = null

+axezDicom : AxezDICOMX = null DataBase::RegistroDCM

+RepositorioDeRegistros()

+buscarRegistro(in id : string, in nombre : string, in fecha : string, in numero : string) : RegistroDCM +buscarRegistro(in buscado : RegistroDCM) : RegistroDCM

+agregarRegistro(in registro : RegistroDCM)

+eliminarRegistro(in id : string, in nombre : string, in fecha : string, in numero : string) +guardar(in archivo : string)

+importar(in archivo : string) +this(in index : int) : object +ProcessFiles(in files : string[])

+ProcessDirectory(in targetDirectory : string) +RepositorioListener() : RepositiorioRegListener -fireRegistroFueAgregado(in registro : RegistroDCM) +GetEnumerator() : RepositorioEnumerator

+items() : ArrayList

-listener : RepositiorioRegListener = null -registros : ArrayList = null

DataBase::RepositorioDeRegistros

+RepositorioEnumerator(in repositorio : RepositorioDeRegistros) +MoveNext() : bool

+Current() : RegistroDCM -nIndex : int

-repositorio : RepositorioDeRegistros

DataBase::RepositorioEnumerator

+registroFueAgregado(in registro : RegistroDCM) +registroFueEliminado(in registro : RegistroDCM) +registroCambio(in registro : RegistroDCM)

+huboColision(in registro1 : RegistroDCM, in registro2 : RegistroDCM)

«interface»

DataBase::RepositiorioRegListener

PanDiag::DataBase

Paquete PanDiag.DataBase

Contiene las clases que permiten la creación y mantenimiento de

colecciones de registros o “conjuntos de trabajo” como se les llama.

Clase RegistroDCM. Estructura que contiene todas las propiedades

que puede tener un registro. Es autoinicializada y requiere como

parametro de creación un archivo DICOM del cual obtendrá la

información necesaria para su creación.

Clase RepositorioDeRegistro. Clase que contiene los métodos y

propiedades necesarias para mantener una colección de registros.

Hace las veces de una base de datos proporcionando posibilidades de

guardar en archivos físicos los registros que esten en memoría.

Permite realizar búsquedas, agregar y eliminar registros de diferentes

formas.

Clase RepositorioEnumerator. RepositorioDeRegistros. Esta clase

implementa el código necesario para poder utilizar la clase

RepositorioDeRegistros con la función foreach de c#.

Clase RepositorioRegListener. Permite a un usuario de

RepositorioDeRegistros tener información constante de las

transacciones que se estan llevando acabo dentro de la clase.

(9)

PanDiag::ProcesamientoImagenes

+obtenerCaracteristicas(in mapaIntensidades : short[,]) : double[]

ProcesamientoImagenes::ExtractorDeCaracteristicas

+obtenerCaracteristicas(in mapaIntensidades : short[,]) : double[] +Ventana() : ushort

+Desplazamiento() : ushort -tam_ventana : ushort = 10 -desplazamiento : ushort = 5

ProcesamientoImagenes::ExtractorPorVentanas

+MapaNormalizado(in objDicom : AxezDICOMX, in puntos : Point[]) -reubicarPuntos(in puntos : Point[]) : Point[]

-obtenerMapaEscaladoEstirado(in mapaEscalado : short[,], in seleccionEscalada : Point[]) : short[,] -escalarSeleccion(in puntos : Point[]) : Point[]

-normalizarMapa() : short[,]

-getYMinYMaxparaX(in x : short, in puntos : Point[]) : short[] -getXMinXMaxparaY(in y : short, in puntos : Point[]) : short[] -obtenerMapaEscalado(in mapaReducido : short[,]) : short[,] -obtenerValoresMaxMin(in puntos : Point[])

-obtenerMapaReducido() : short[,]

+extraerCaracterisiticas(in extractor : ExtractorDeCaracteristicas) : double[] -objDicom : AxezDICOMX = null

+puntos : Point[] = null

+puntosReubicados : Point[] = null +puntosEscalados : Point[] = null -xmax : ushort = ushort.MinValue -xmin : ushort = ushort.MaxValue -ymax : ushort = ushort.MinValue -ymin : ushort = ushort.MaxValue -xmaxe : ushort = ushort.MinValue -xmine : ushort = ushort.MaxValue -ymaxe : ushort = ushort.MinValue -ymine : ushort = ushort.MaxValue +mapaReducido : short[,] +mapaReducidoFiltrado : short[,] +mapaEscalado : short[,] +mapaEscaladoEstirado : short[,]

ProcesamientoImagenes::MapaNormalizado

Paquete PanDiag.ProcesamientoImagenes. Contiene las clases que realiza la extracción de los datos del

archivo dicom, la normalización y la extracción de características. El modelo utilizado permite la aplicación de

diferentes técnicas de extracción de caraterísticas sobre el mapa normalizado siempre y cuando se cumpla con

los requerimientos de la clase ExtractorDeCaracteristicas.

Clase MapaNormalizado. Realiza la extracción de los datos del archivo DICOM y los procesa hasta tener un

mapa normalizado de 100x80 unidades. Los resultados de cada paso en el proceso son públicos permitiendo

que el usuario examine los resultados.

Interfaz ExtractorDeCaracteristicas. Define los métodos y propiedades que debe tener una clase que sirva

como extractor de características.

Calse ExtractorPorVentanas. Implementa la extracción de caracterítiscas por ventanas usando la interfaz

ExtractorDeCaracteristicas.

(10)

PanDiag::GUI

+MainGUI()

#Dispose(in disposing : bool) -InitializeComponent() -Main()

-menuItem3_Click(in sender : object, in e : EventArgs)

-axezDICOMX1_DCMmouseMoveIntensity(in sender : object, in e : IezDICOMXEvents_DCMmouseMoveIntensityEvent) -axezDICOMX1_OnPaint(in sender : object, in e : EventArgs)

-menuItem8_Click(in sender : object, in e : EventArgs) -menuItem10_Click(in sender : object, in e : EventArgs) -buttonWC_Click(in sender : object, in e : EventArgs) -buttonHDR_Click(in sender : object, in e : EventArgs) -buttonZoom_Click(in sender : object, in e : EventArgs) +actualizarControlesLocales()

+actualizarRegistroLocal()

-checkBoxNecrosis_CheckedChanged(in sender : object, in e : EventArgs) -checkBoxInflamado_CheckedChanged(in sender : object, in e : EventArgs) -checkBoxGrasa_CheckedChanged(in sender : object, in e : EventArgs)

-radioButtonUnaColeccion_CheckedChanged(in sender : object, in e : EventArgs) -radioButtonDosColecciones_CheckedChanged(in sender : object, in e : EventArgs) -buttonROI_Click(in sender : object, in e : EventArgs)

-axezDICOMX1_DCMmouseUp_1(in sender : object, in e : IezDICOMXEvents_DCMmouseUpEvent) -buttonReset_Click(in sender : object, in e : EventArgs)

-buttonVerRepresentacion_Click(in sender : object, in e : EventArgs) -menuItem13_Click(in sender : object, in e : EventArgs)

-menuItem12_Click(in sender : object, in e : EventArgs) -menuItem15_Click(in sender : object, in e : EventArgs)

-radioButton1_CheckedChanged(in sender : object, in e : EventArgs) -buttonLimpiarROI_Click(in sender : object, in e : EventArgs) -GUI_Load(in sender : object, in e : EventArgs)

-menuItem35_Click(in sender : object, in e : EventArgs) -menuItem27_Click(in sender : object, in e : EventArgs)

GUI::MainGUI

Paquete PanDiag.GUI. Contiene las clases que forman el GUI del usuario y que integran las clases de los

demás paquetes para formar la aplicación.

Clase MainGUI. Punto de entrada de la aplicación. Mantiene los objetos que realizan el proceso de la

información (ShellNeuronal, Base de datos, etc) y los relaciona con los eventos generados por el usuario al

oprimir botones y seleccionar funciones de menus.

Clase OpenDirectoryDialog. Clase que muestra al usuario una ventana en la que puede seleccionar un folder.

Utilizada por ManejadorDeRepositoriosGUI.

Clase RepresentacionInternaGUI. Muestra al usuario un dialogo que permite observar los pasos que se

realizan durante la normalización de una imagen. Estos datos son obtenidos de un objeto MapaNormalizado.

Es utilizada por la clase MainGUI.

Clase VisorSeleccion. Muestra una ventana con el area seleccionada por el usuario (ROI). Es utilizada por la

clase MainGUI.

Interfaz FilenameEventListener. Permite la comunicación entre un ManejadorDeRepositoriosGUI con la clase

MainGUI a través de eventos similares a los utilizados en la arquitectura Java. Permiten saber que registro

fue seleccionado.

(11)

+registroFueAgregado(in registro : RegistroDCM) +registroFueEliminado(in registro : RegistroDCM) +registroCambio(in registro : RegistroDCM)

+huboColision(in registro1 : RegistroDCM, in registro2 : RegistroDCM) +ManejadorDeRepositoriosGUI()

#Dispose(in disposing : bool) -InitializeComponent()

-buttonAgregar_Click(in sender : object, in e : EventArgs) -copiarRegRow(in reg : RegistroDCM, in row : DataRow) -buttonFolder_Click(in sender : object, in e : EventArgs) +ProcessFiles(in files : string[])

+ProcessDirectory(in targetDirectory : string)

-labelArchivo_TextChanged(in sender : object, in e : EventArgs) +ArchivoSeleccionado() : string

+addFilenameCambioListener(in fcl : FilenameEventListener) -fireFilenameEventListener()

-buttonEliminar_Click(in sender : object, in e : EventArgs) -buttonGuardar_Click(in sender : object, in e : EventArgs) -buttonImportar_Click(in sender : object, in e : EventArgs) +RegistroActual() : RegistroDCM +Repositorio() : RepositorioDeRegistros -label1 : Label -label2 : Label -label3 : Label -groupBoxConjuntoDeTrabajo : GroupBox -dataGridRegistros : DataGrid -buttonAgregar : Button -buttonEliminar : Button -buttonGuardar : Button -buttonImportar : Button -repositorio : RepositorioDeRegistros -dataGridTableStyle1 : DataGridTableStyle -dataGridTextBoxColumn1 : DataGridTextBoxColumn -dataGridTextBoxColumn2 : DataGridTextBoxColumn -dataGridTextBoxColumn3 : DataGridTextBoxColumn -dataGridTextBoxColumn4 : DataGridTextBoxColumn -openFileDialog : OpenFileDialog -TablePacientes : DataTable -TableCortes : DataTable -dataColumnID : DataColumn -dataColumnNombre : DataColumn -dataColumnFecha : DataColumn -dataColumn1 : DataColumn -dataColumn2 : DataColumn -dataColumn3 : DataColumn -dataColumn4 : DataColumn +dataSetData : DataSet -buttonFolder : Button -dataColumn5 : DataColumn -archivo : string +labelArchivo : Label -label4 : Label

-fel : FilenameEventListener = null -cargando : bool = false

-bandera_borrando : bool = false -saveFileDialog : SaveFileDialog GUI::ManejadorDeRepositoriosGUI +OpenDirectoryDialog() +showDialog() : DialogResult #Initialize() +Folder() : string -folderDialog : FolderBrowser -folder : string = null

GUI::OpenDirectoryDialog

+RepresentacionInternaGUI()

-setTipoRepresentacion(in tipo : Visualizacion) -recalcularInicioFin()

#Dispose(in disposing : bool) -InitializeComponent()

-panel1_Paint(in sender : object, in e : PaintEventArgs) -obtenerNivelGris(in intensidad : int) : Color

-button1_Click(in sender : object, in e : EventArgs)

-radioButton1_CheckedChanged(in sender : object, in e : EventArgs) -radioButton2_CheckedChanged(in sender : object, in e : EventArgs) -radioButton3_CheckedChanged(in sender : object, in e : EventArgs) -radioButton4_CheckedChanged(in sender : object, in e : EventArgs) -checkBox1_CheckedChanged(in sender : object, in e : EventArgs) -button2_Click(in sender : object, in e : EventArgs)

+W() : int +C() : int +Mapa() : MapaNormalizado -panel1 : Panel -label2 : Label -label1 : Label -button1 : Button -mapaNormal : MapaNormalizado -c : int = 0 -w : int = 255 -p_inicioEscala : int -p_finEscala : int -diferencia_iniciofin : int -textBoxW : TextBox -textBoxC : TextBox -groupBox1 : GroupBox -radioButton1 : RadioButton -radioButton2 : RadioButton -radioButton3 : RadioButton -tipoVisualización : int = 0 -radioButton4 : RadioButton -checkBox1 : CheckBox -VerSeleccion : bool = false -button2 : Button

-imagen : Bitmap = null

-saveFileDialog1 : SaveFileDialog -components : Container = null

GUI::RepresentacionInternaGUI

+VisorSeleccion()

#Dispose(in disposing : bool) -InitializeComponent() +Puntos() : Point[] +Modo() : ModoDibujado

-VisorSeleccion_Paint(in sender : object, in e : PaintEventArgs) -modo : ModoDibujado = 0

-puntos : Point[] = null

GUI::VisorSeleccion

+FilenameCambio(in filename : string)

«interface» GUI::FilenameEventListener

Referencias

Documento similar

SECUNDARIA COMPRENDE LOS

Esto viene a corroborar el hecho de que perviva aún hoy en el leonés occidental este diptongo, apesardel gran empuje sufrido porparte de /ue/ que empezó a desplazar a /uo/ a

[r]

SVP, EXECUTIVE CREATIVE DIRECTOR JACK MORTON

Social Media, Email Marketing, Workflows, Smart CTA’s, Video Marketing. Blog, Social Media, SEO, SEM, Mobile Marketing,

diabetes, chronic respiratory disease and cancer) targeted in the Global Action Plan on NCDs as well as other noncommunicable conditions of particular concern in the European

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

[r]