[root]/coolImagingApplication/libreriaImagenes/interfaz

| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 101 (100.0%) | 4352 (100.0%) | 43.0 |
| odracirnumira | 75 (74.3%) | 4178 (96.0%) | 55.7 |
| luis | 26 (25.7%) | 174 (4.0%) | 6.6 |
Cambio de nombre del proyecto principal
0 lines of code changed in 14 files:
Un montón de cambios:
1) Se arreglan ciertos bugs de la VistaImagenes que aparecen cuando se muestra la imagen en el diálogo emergente.
2) Se arregla la apariencia de muchos paneles de operaciones.
3) Se avanza en la caracterización de imágenes.
14 lines of code changed in 1 file:
Eliminados parte de los warnings del proyecto coolimaging
0 lines of code changed in 1 file:
1) Se abandona temporalmente el proyecto de dibujar de forma más eficiente las imágenes. Me he quedado cerca, pero ciertos problemas cuyo origen no comprendo han supuesto que lo dehe aparcado durante un tiempo.
2) Se añade el mecanismo de drag and drop (D&D) a varios elementos:
2.1) Se pueden arrastrar archivos al área de editores. Si son imágenes, se abren.
2.2) Se pueden arrastrar archivos a los paneles de paquetes de imágenes: dichas imágenes son añadidas.
2.3) Se pueden arrastrar archivos de los paneles depaquetes de imágenes a otros paneles de paquetes de imágenes, así como al área de editores.
3 lines of code changed in 1 file:
Se sube un código provisional para que funcione la visualización de imágenes mientras se rediseñan las clases de visualización de imágenes.
11 lines of code changed in 1 file:
Se arreglan unos cuantos fallos relacionados con en renombramiento de paquetes.
78 lines of code changed in 2 files:
Se añade acción que permite visualizar una imagen abierta en modo diálogo emergente.
39 lines of code changed in 1 file:
Uf. Por dónde empezar.
1) Se mejora la eficiencia del pintado del rectángulo de ajuste en la imagen (el rectángulo que aparece cuando intentas ampliar una región).
2) Se añaden perspectivas.
3) Se añade la vista de caracterización, que no está acabada todavía.
160 lines of code changed in 1 file:
Cambio de nombre de un paquete por estar mal escrito trataniento por tratamiento
1 lines of code changed in 1 file:
1) Se renombran varios paquetes, para separar los operadores de caracterización de los de tratamiento de imágenes.
2) Se finaliza la vista del ConjuntoGeneradorVC y del GeneradorVC.
1 lines of code changed in 1 file:
El panel de gestión de paquetes se deja medio finalizado.
Se renombran ciertas clases.
17 lines of code changed in 1 file:
Suprimidos algunos warnings
9 lines of code changed in 4 files:
1) Se añaden más clases relacionadas con la caracterización de imágens.
2) Se renombran las clases de las vistas de thunmbnails.
54 lines of code changed in 2 files:
Se añade la clase PanelInfoOperacionVacio; como consecuencia, se eliminan todos los PanelInfoOperacion que no tuvieran parámetros asociados.
8 lines of code changed in 1 file:
Se reformatea todo el código según el estilo que hemos elegido.
1013 lines of code changed in 8 files:
1) Se añade la posibilidad de tener varias operaciones activas al mismo tiempo: ahora se pueden tener varios diálogos simultáneos, es decir, los diálogos ya no son modales.
2) Se refina la vista de los thumbnails: ahora permite visualizar las imágenes no sólo en forma de thumbnails sino también como simple texto (el nombre de cada imagen).
8 lines of code changed in 1 file:
Se mejora el aspecto gráfico del panel de los thumbnails.
1 lines of code changed in 1 file:
1) Se añade el panel de thumbnails.
2) Se mejora la eficiencia del pintado del polígono arbitrario de una imagen.
3) Se modifica la vista del directorio de trabajo: ahora el campo de texto es un campo editable tal que, cuando se pulsa enter, se recarga del directorio de trabajo.
4) Ciertas funciones críticas de la clase ConjuntoModeloImagenes se marcan como synchronized, al igual que una función de las UtilidadesGlobales.
5)
657 lines of code changed in 3 files:
Se añaden operadores de OR y XOR de una constante a una image.
Se arregla un pequeño bug de la creación del histograma.
2 lines of code changed in 1 file:
1) Se mejora la eficiencia del zoom de imágenes en un infinito %.
2) Se añade la capacidad de ejecutar varias instrucciones de forma concurrente.
3) Se añade una vista que permite la visualización de las tareas actualmente ejecutándose en el workbench.
4) Se mejora el aspecto visual de los kernels de convolución en el operador de filtrado.
5) Se mejora el diálogo que permite ampliar un kernel y visualizarlo en un diálogo independiente.
166 lines of code changed in 4 files:
Se arregla el problema de la representación gráfica de ROIS.
8 lines of code changed in 2 files:
Se añade la posibilidad de visualizar el histograma de una imagen.
287 lines of code changed in 2 files:
Se añade la opción de que la imagen resultado de una operación pueda sobreescribir la imagen actual o bien se cree una nueva.
17 lines of code changed in 2 files:
Quitados warnings
0 lines of code changed in 1 file:
Se arregla un pequeño bug y se añade la posibilidad de cambiar la Imagen del ModeloImagen, y que éste se sicronice correctamente con la VistaImagen.
9 lines of code changed in 1 file:
Se arregla el parpadeo de cuando se hace zoom.
10 lines of code changed in 1 file:
1) Se añade la posibilidad de limpiar la ROI que se está definiendo
2) Se añade la posibilidad de eliminar el último punto de la ROI que se está definiendo
3) En la barra de estado, se añade la visualización de las componentes del píxel actual
4) Se hace que lo que no sea ROI, en la imagen extraída, sea visualizado de otro color, para distinguirlo de aquello que sí es ROI.
556 lines of code changed in 4 files:
icono roi
38 lines of code changed in 1 file:
1) Se añade el operador de Crop (Recorte)
2) Se depuran ciertos detalles del zoom.
3) Se comenan ciertas clases.
70 lines of code changed in 3 files:
Se arregla un pequeño fallo relacionado con los zoom, tanto de una región rectangular como el zoom simple.
12 lines of code changed in 1 file:
Se añade el zoom de una región rectangular.
88 lines of code changed in 4 files:
Se añaden comentarios.
126 lines of code changed in 2 files:
Luis, el tener la clase PanelImagenInteractivo como subclase de la clase PanelImagen va a ocasionar infinitos problemas. He decidido reestructurarla, de modo que, en vez de heredar de PanelImagen, contenga interamente un "PanelImagenConROI" (que hereda de PanelImagen). Así sería sensiblemente más sencillo manejar las regiones de interés.
Lo normal es que el usuario pudiera ampliar una imagen, seleccionar unos puntos, desampliarla, y poder seleccionar otros (o cosas por el estilo), así que los cambios de zoom mientras se eligen puntos de la ROI deben contemplarse.
El problema fundamental radica en que es necesario que, conforme se añadan puntos a la ROI, se vayan almacenando dichos puntos, pero no relativos a la imagen con el nivel de zoom actual, sino de forma absoluta. Si no se hace así, si se va haciendo zoom conforme se añaden puntos a la ROI, dichos puntos estarán relativos al zoom actual, y no a las coordenadas absolutas sobre la imagen, y como consecuencia, al hacer el repintado de la ROI, se descolocan los puntos y las lineas rectas.
Otro problema adiciona, y ya semántico más que otra cosa, es el hecho de que, desde el PanelImagenInteractivo, se deba crear la ROI, así como asociarla al modelo. Hasta ahora hemos pensado solamente en el poder hacer clicks de ratón y crear una ROI dentro del PanelInteractivo; ahora bien: ¿cómo se asocia dicha ROI al ModeloImagen? Recuerda que, en última instancia, la ROI debe ir asociada al ModeloImagen. Es moderadamente evidente que, de algún modo, dicha ROI, una vez creada tras hacer el click izquierdo con el ratón, debería asociarse inmediatamente al ModeloImagen, es decir, esa vista debería poder modificar al modelo, y por tanto es necesario que dentro del PanelImagenInteractivo se almacene el ModeloImagen de la imagen en cuestión.
Así pues, he optado por crear la clase PanelImagenInteractivo, no como una clase que herede de PanelImagen, sino como una clase que encapsule a un objeto de tipo PanelImagenConROI y que, además, almacene el ModeloImagen de la imagen concreta. Así nos evitamos dos problemas
1) No tiene sentido que, si el PanelImagenInteractivo hereda de PanelImagen, éste guarde un ModeloImagen. Recuerda que, en última instancia, un PanelImagen sólo tiene conocimiento de la imagen que representa (lo cual se explicita mediante el cosntructor del PAnelImagen, el cual recibe un objeto de tipo Imagen), así que hacer que tuviera tanto un ModeloImagen como una Imagen sería redundante; así conseguimos separar ambas componentes de una manera más efectiva.
2) Cuando el se termina de crear la ROI, ésta puede ser asociada al ModeloImagen, sin necesidad de hacer nada "artificial".
Otro aspecto importante que he tenido que corregir es el hecho de que la ROI no debía ser pintada con la filosofía que proponías, es decir, la de, desde el PanelImagenInteractivo, hacer llamadas a los métodos draw(...). Tras investigar un poco, he visto que el problema de hacer eso es que las ROI se van borrando conforme mueves las barras de desplazamiento, amplias la imagen, etc. El pintado de la ROI se debe hacer en el componente más básico relacionado con la representación de la imagen, y éste es el PanelImagen; como el PanelImagen no ofrece esa funcionalidad, he creado una clase, PanelImagenConROI, que sí la ofrece: esta clase permite añadir y eliminar puntos, dibujando, no sólo los puntos, sino lineas que conectan los puntos entre ellos. La ventaja de esta clase es que el pintado lo hace indirectamente a través del método paint() de una clase que he definido por debajo, y por tanto, el pintado no da problemas.
Queda hacer lo que me contaste ayer: acabado de tomar la ROI, asociarla al ModeloImagen. Como eso es algo que iba con lo del ROI, que tú estuviste viendo, lo dejo a tu criterio, así que hazlo tú.
La clase PanelImagenInteractivo ha sido movida al paquete es.coolimaging.vista.imagen.
30 lines of code changed in 1 file:
La selección de la ROI parece funcionar bien y ser invariante a ampliaciones y reducciones de la imagen.
178 lines of code changed in 4 files:
Se rediseña un poco la creación de la ROI: su dibujado es delagado sobre el DisplayJAI que representa la imagen dentro del PanelImagen. De no hacerse así, hay infinitos problemas con el repintado de la ROI.
127 lines of code changed in 3 files:
1) Se mueve la funcionalidad de seleccionar la región local al método "mousePressed". El mouseClicked tiene el siguiente problema: si se pulsa el botón sobre un punto, el botón debe despulsarse sobre ese mismo punto. Si no se hace así, no se considera un mouseClicked() sino un mouseDragged, y por tanto el punto no es seleccionado.
2) Ahora las lineas de la región local no están desplazadas respecto a los puntos: salen del centro de los puntos.
64 lines of code changed in 1 file:
Se rediseña el panel de los filtros lineales; ahora es más genérico, y puede reutilizarse en su mayoría, como pretendo hacer para las operaciones de erosión y dilatación.
2 lines of code changed in 1 file:
Añadida una versión para mostrar la región de interés seleccionada
84 lines of code changed in 1 file:
Añadida funcionalidad de para poder seleccionar una región.
Falta operar con los vertices seleccionados y mostrarlo graficamente.
79 lines of code changed in 3 files:
1) Se mejora el zoom: ahora, al ampliar, se amplia la zona situada en el centro de la pantalla.
2) Se añade el operador de composición de imágenes.
47 lines of code changed in 2 files:
(6 more)