Experimentos de procesamiento digital de imágenes empleando el software ImageJ

95  22  Descargar (0)

Texto completo

(1)Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Centro de Estudios de Electrónica y Tecnologías de la Información. TRABAJO DE DIPLOMA Experimentos de procesamiento digital de imágenes empleando el software ImageJ Autor: Maite Morán Morciego. Tutor: Dr. Juan V. Lorenzo Ginori. Santa Clara 2012 "Año 54 de la Revolución".

(2) Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Centro de Estudios de Electrónica y Tecnologías de la Información. TRABAJO DE DIPLOMA Experimentos de procesamiento digital de imágenes empleando el software ImageJ Autor: Maite Morán Morciego E-mail: mmoran@uclv.edu.cu. Tutor: Dr. Juan V. Lorenzo Ginori Profesor Titular Consultante, CEETI E-mail: juanl@uclv.edu.cu. Consultante: Dr. Rubén Orozco Morales E-mail: rorozco@uclv.edu.cu Santa Clara 2012 "Año 54 de la Revolución".

(3) Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad de Ingeniería Biomédica, autorizando a que el mismo sea utilizado por la Institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos, ni publicados sin autorización de la Universidad.. Firma del Autor Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del Tutor. Firma del Jefe de Departamento donde se defiende el trabajo. Firma del Responsable de Información Científico-Técnica.

(4) i. PENSAMIENTO. La inteligencia da bondad, justicia y hermosura; como un ala, levanta el espíritu; como una corona, hace monarca al que la ostenta. José Martí..

(5) ii. DEDICATORIA. A Gilberto que ha sido todos estos años un padre para mí y que me ha guiado siempre para que salga adelante. A mis padres por ser mi mayor fuente de energía e inspiración a lo largo de todos estos años. A mi hermana por su ayuda y comprensión incondicional. A mi familia por apoyarme siempre. A mis amigos y profesores, que de una forma u otra han contribuido con mi formación vocacional y que han dado lo mejor de sí para la realización de este trabajo..

(6) iii. AGRADECIMIENTOS. A mi familia, en especial a mis padres, a Gilberto y mi hermana por estar siempre mi lado en los momentos difíciles de mi vida. A todos los profesores que de una forma u otra han tenido que ver con la realización de este trabajo y por toda la dedicación con la que me han transmitido sus conocimientos a través de todos estos años, en especial a mis tutores el Dr. Juan V. Lorenzo Ginori y el Dr. Rubén Orozco Morales. A todos mis amigos y compañeros, en especial a Wendelin y a Deinis por compartir conmigo una parte de su vida sin pedir nada a cambio. A ellos, y a todas esas personas, que de una manera u otra hicieron posible la realización de este trabajo..

(7) iv. TAREA TÉCNICA. . Realizar una revisión bibliográfica sobre el tema, sistematizando la información obtenida y haciendo un análisis crítico de la misma.. . Seleccionar los tópicos dentro del PDI en los que de forma más inmediata y provechosa puede utilizarse ImageJ como herramienta computacional para la implementación de experimentos de PDI en Ingeniería Biomédica.. . Implementar y probar de forma práctica un conjunto de experimentos de PDI basados en el empleo de ImageJ, orientados a las aplicaciones en Ingeniería Biomédica.. . Hacer un estudio del manual de usuario que ofrece el programa ImageJ, para su utilización en el procesamiento digital de imágenes.. Firma del Autor. Firma del Tutor.

(8) v. RESUMEN. Existen diversos centros de investigación e instituciones médicas que diariamente trabajan con un gran número de imágenes digitales. El software ImageJ es un programa para procesamiento de imágenes de dominio público, que no solo es de código abierto, sino que también es soportado en cualquier sistema operativo, y por su fácil implementación es usado en el campo de la imaginología biomédica. Este trabajo realizó un estudio del software para su empleo en temas como el filtrado y la segmentación, que son de gran importancia en el procesamiento digital de imágenes, donde se implementaron las técnicas de: filtrado gaussiano, de media y de mediana, y los algoritmos de segmentación de Otsu y watershed, para lograr de esta manera su aprovechamiento en las prácticas de los laboratorios referentes a estos temas. Mediante un conjunto de experimentos en Matlab y en ImageJ, se demostró que no existen diferencias significativas en la calidad de los algoritmos que ofrece el programa, a pesar de que se requiere en ImageJ la creación de plugins que faciliten y mejoren el trabajo en estos temas..

(9) vi. TABLA DE CONTENIDOS. PENSAMIENTO .....................................................................................................................i DEDICATORIA .................................................................................................................... ii AGRADECIMIENTOS ........................................................................................................ iii TAREA TÉCNICA ................................................................................................................iv RESUMEN ............................................................................................................................. v INTRODUCCIÓN .................................................................................................................. 1 CAPÍTULO 1.. GENERALIDADES. SOBRE EL ESTUDIO DEL SOFTWARE. IMAGEJ PARA SU UTILIZACIÓN EN EL PROCESAMIENTO DIGITAL DE IMÁGENES CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO .................................. 4 1.1. Características del software ImageJ ......................................................................... 4. 1.1.1. Uso e importancia de ImageJ en el procesamiento de imágenes digitales ....... 5. 1.2. Análisis de las herramientas de ImageJ ................................................................... 7. 1.3. Segmentación de imágenes en ImageJ ................................................................... 10. 1.3.1. Concepto de segmentación ............................................................................. 11. 1.3.2. Técnicas de segmentación en ImageJ ............................................................. 12. 1.4. Filtrado de imágenes en ImageJ ............................................................................. 16. 1.4.1. Concepto de filtro ........................................................................................... 16. 1.4.2. Técnicas de filtrado en ImageJ ....................................................................... 22.

(10) vii CAPÍTULO 2.. MÉTODOS EMPLEADOS EN EL SOFTWARE IMAGEJ PARA EL. FILTRADO Y LA SEGMENTACIÓN DE IMÁGENES .................................................... 25 2.1. Imágenes utilizadas en el filtrado y la segmentación ............................................. 25. 2.2. Técnicas de filtrado empleadas en Matlab y en ImageJ ......................................... 27 2.2.1.1. Técnica gaussiana en Matlab ................................................................... 27. 2.2.1.2. Técnica gaussiana en ImageJ (gaussian blur) ......................................... 30. 2.2.2.1. Técnica de media en Matlab .................................................................... 31. 2.2.2.2. Técnica de media en ImageJ (mean) ....................................................... 32. 2.2.3.1. Técnica de mediana en Matlab ................................................................ 33. 2.2.3.2. Técnica de mediana en ImageJ (median) ................................................ 33. 2.3. Técnicas de segmentación empleadas en Matlab y en ImageJ .............................. 34 2.3.1.1. Técnica umbralado de Otsu en Matlab .................................................... 34. 2.3.1.2. Técnica umbralado de Otsu en ImageJ (Otsu thresholding) ................... 35. 2.3.2.1. Técnica de watershed en Matlab ............................................................. 36. 2.3.2.2. Técnica de watershed en ImageJ ............................................................. 37. CAPÍTULO 3.. RESULTADOS Y DISCUSIÓN: FILTRADO Y SEGMENTACIÓN EN. IMAGEJ. ................................................................................................................. 39. 3.1. Análisis de ImageJ y Matlab respecto al filtrado ................................................... 39. 3.1.1. Técnica gaussiana ........................................................................................... 40. 3.1.2. Técnica de media ............................................................................................ 44. 3.1.3. Técnica de mediana ........................................................................................ 45. 3.2. Análisis de ImageJ y Matlab respecto a la segmentación ...................................... 47. 3.2.1. Algoritmo de Otsu .......................................................................................... 47. 3.2.2. Algoritmo de la transformada watershed ........................................................ 50. CONCLUSIONES Y RECOMENDACIONES ................................................................... 56.

(11) viii Conclusiones ..................................................................................................................... 56 Recomendaciones ............................................................................................................. 56 REFERENCIAS BIBLIOGRÁFICAS ................................................................................. 58 ANEXOS .............................................................................................................................. 61 Anexo I. Programas empleados para el filtrado de las imágenes .................................. 61. Anexo II. Tablas empleadas para el filtrado ............................................................... 65. Anexo III. Programas empleados en la segmentación .................................................. 72. Anexo IV. Tablas empleadas en la segmentación ......................................................... 82.

(12) INTRODUCCIÓN. 1. INTRODUCCIÓN. ImageJ es un programa de procesamiento de imagen digital de dominio público programado en Java, desarrollado en el Instituto Nacional de Salud (NIH) en Estados Unidos por Wayne Rasband, basado en Macintosh, Rasband libera el software de este sistema operativo individual al usar el lenguaje de programación Java [4]. ImageJ fue diseñado con una arquitectura abierta que proporciona extensibilidad vía plugins Java y macros (macroinstrucciones) grabables. Puede ejecutarse en un applet en línea, como aplicación ejecutable, o en cualquier computadora con máquina virtual Java 5 o superior. Hay también distribuciones descargables para Microsoft Windows, Mac OS, Mac OS X, Linux, y Sharp Zaurus PDA. El código fuente de ImageJ está disponible gratuitamente [27]. Antes del lanzamiento de ImageJ en 1997, existía un programa de análisis de imágenes conocido como NIH Image desarrollado para ordenadores Macintosh de sistema operativo preMacOS X. El desarrollo de este software continúa en la forma de Image SXM, una variante para investigación física de imágenes microscópicas escaneadas. También fue desarrollada una versión para Windows – portada por Scion Corporation, llamada Scion Image for Windows [27]. Ambas versiones están aún disponibles, aunque existen otros programas de análisis de imágenes, donde se destaca Matlab Image Toolbox como programa de propósito general, además de múltiples programas para aplicaciones específicas, algunos que ya usan ImageJ como soporte. Esta herramienta computacional para procesamiento digital de imágenes (PDI) tiene la ventaja de estar basado en un software libre, lo que hace recomendable estudiar y aprovechar sus potencialidades para la docencia y la investigación en el campo de la Ingeniería Biomédica. El empleo de este programa se circunscribe a determinadas aplicaciones de especial importancia, la determinación de cuáles son las más apropiadas, forma parte de este trabajo,.

(13) INTRODUCCIÓN. 2. del cual deben surgir las recomendaciones pertinentes y las implementaciones que correspondan. Como resultado, se dispondrá de un conjunto de métodos y experimentos computacionales de PDI basados en el empleo de ImageJ. El desconocimiento de las reales potencialidades del programa sugiere familiarizarse con las prácticas de laboratorio en Matlab para adquirir conocimientos sobre de Procesamiento Digital de Imágenes y recopilar información y material de estudio sobre el ImageJ, para hacer uso de éste en los laboratorios y tareas de investigación. Esta investigación se hizo tomando en cuenta los lineamientos 131 y 132 del VI Congreso del PCC, que plantean: 131. Sostener y desarrollar los resultados alcanzados en el campo de la biotecnología, la producción médico-farmacéutica, la industria del software y el proceso de informatización de la sociedad, las ciencias básicas, las ciencias naturales, los estudios y el empleo de las fuentes de energía renovables, las tecnologías sociales y educativas, la transferencia tecnológica industrial, la producción de equipos de tecnología avanzada, la nanotecnología y los servicios científicos y tecnológicos de alto valor agregado. 132. Perfeccionar las condiciones organizativas, jurídicas e institucionales para establecer tipos de organización económica que garanticen la combinación de investigación científica e innovación tecnológica, desarrollo rápido y eficaz de nuevos productos y servicios, su producción eficiente con estándares de calidad apropiados y la gestión comercializadora interna y exportadora, que se revierta en un aporte a la sociedad y en estimular la reproducción del ciclo. Extender estos conceptos a la actividad científica de las universidades. Para ello se propusieron los siguientes objetivos: Objetivo General: Realizar una contribución al estudio y desarrollo de la docencia en la carrera de Ingeniería Biomédica, a través diferentes experimentos de procesamiento digital de imágenes con el software ImageJ..

(14) INTRODUCCIÓN. 3. Objetivos Específicos: - Recopilar y organizar información científico-técnica sobre ImageJ, sus aplicaciones y posibilidades de empleo en la docencia y la investigación-desarrollo en las aplicaciones biomédicas del PDI. - Establecer métodos de empleo para la utilización del software que se adecuen a los propósitos de la enseñanza experimental de PDI, que puedan servir de base para la aplicación de los recursos de ImageJ en trabajos de investigación y desarrollo, dentro del campo de la Ingeniería Biomédica. - Realizar un conjunto de experimentos computacionales sobre PDI con ImageJ, para la segmentación y el filtrado de imágenes. - Evaluar la calidad de los algoritmos que ofrece el programa. A partir de los objetivos se derivan las siguientes interrogantes científicas: ¿Puede el software ImageJ ser empleado en las prácticas de los laboratorios? ¿Cómo evaluar la calidad de los algoritmos de filtrado y segmentación de ImageJ? En el desarrollo de esta investigación se utilizarán diferentes métodos y técnicas que permitirán desarrollar los algoritmos de segmentación que ofrece ImageJ, así como el filtrado de las imágenes a través del procesamiento digital y el empleo de sus herramientas en los experimentos de laboratorio. Organización del informe El informe se ha estructurado en tres capítulos que abordan las siguientes temáticas: CAPÍTULO 1: Se estudia el software ImageJ para temas como el filtrado y la segmentación de imágenes. CAPÍTULO 2: Se describen los métodos empleados para su utilización en estos temas, a través de los experimentos realizados. CAPÍTULO 3: Se analiza la calidad de los algoritmos de ImageJ, comparándolos con los resultados obtenidos en Matlab..

(15) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 4. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU UTILIZACIÓN EN EL PROCESAMIENTO DIGITAL DE IMÁGENES CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. En el presente capítulo se hace una breve descripción del software ImageJ y sus facilidades para el procesamiento de imágenes. Además se abordan los temas de filtrado y segmentación de este programa, así como diversos plugins creados para éste. 1.1. Características del software ImageJ. Este software de código abierto (open source) está basado en Java y es considerado una herramienta invaluable de laboratorio por su gran funcionalidad para el procesamiento digital de imágenes. En la actualidad es muy utilizado para visualizar y procesar imágenes digitales, se destaca su facilidad para trabajar con un número ilimitado de imágenes simultáneamente. Con el paso de los años el programa se ha visto complementado por un creciente número de agregados (plugins) y macros, desarrollados por varios colaboradores. Estos plugins han sido añadidos a conveniencia del programa original, gracias a la arquitectura abierta que este proporciona [4]. ImageJ puede mostrar, editar, analizar, procesar, guardar, e imprimir imágenes. Puede leer varios formatos de imagen incluyendo TIFF, PNG, GIF, JPEG, BMP, DICOM, FITS, así como formatos RAW. ImageJ soporta pilas o lotes, una serie de imágenes que comparten una sola ventana, y es multiproceso, de forma que las operaciones que requieren mucho tiempo se pueden realizar en paralelo en hardware multi-CPU. El programa puede: calcular.

(16) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 5. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. el área y las estadísticas de valor del píxel en selecciones definidas por el usuario y la intensidad de objetos umbralados (thresholded objects), medir distancias, ángulos, crear histogramas de densidad y gráficos de línea de perfil. Es compatible con las funciones estándar de procesamiento de imágenes tales como operaciones lógicas y aritméticas entre imágenes, manipulación de contraste, convolución, análisis de Fourier, nitidez, suavizado, detección de bordes y filtrado de mediana. Hace transformaciones geométricas como ampliar, rotar y abatir (flips). El programa es compatible con cualquier número de imágenes al mismo tiempo, limitado solamente por la memoria disponible [27]. Las funciones del programa se agrupan en una interfaz gráfica con un conjunto de botones que facilitan su utilización por los usuarios. 1.1.1 Uso e importancia de ImageJ en el procesamiento de imágenes digitales El Java runtime environments (JRE) está libremente disponible, con una plataforma específica para la instalación de ImageJ (rsb.info.nih.gov/ij), lo cual permite que éste corra en diferentes sistemas operativos. A pesar de ser Rasband su autor fundamental, un grupo amplio de creadores adicionales han escrito y han hecho disponible un arsenal creciente de pequeños programas agregados, para proveer la facilidad de operaciones adicionales en el programa. Estos archivos adicionales son escritos ya sea en Java (los plugins) o en el lenguaje de programación en ImageJ (los macros). Una vez salvadas para la carpeta de plugins de ImageJ, estas funciones son cargadas durante la puesta en marcha y pueden ser accedidos por comandos del menú como cualquier otra función básica. La descarga individual libremente disponible de más de 400 plugins contribuye al éxito de ImageJ. Esta larga lista de plugins refleja su uso en un amplio rango de campos en la ciencia y la ingeniería, donde es usado en las imágenes médicas y de microscopía. Estas aplicaciones están dadas gracias a la disponibilidad de los plugins, que pueden ser específicos según el objetivo que se persigue [4][6]. Se pueden desarrollar plugins de escaneo personalizado, análisis y procesamiento con el empleo del editor incluido en ImageJ y un compilador Java. Los plugins escritos por usuarios hacen posible resolver muchos problemas de procesado y análisis de imágenes,.

(17) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 6. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. desde imágenes en vivo de las células en tres dimensiones, procesado de imágenes radiológicas, comparaciones de múltiples datos de sistema de imagen hasta sistemas automáticos de hematología [27]. Por ejemplo, el control de calidad en medicina nuclear implica trabajar con imágenes digitales y la evaluación de las pruebas supone en muchos casos el procesado y análisis numérico de dichas imágenes, por lo que una de las aplicaciones de ImageJ en este campo es la implementación de sus herramientas para el análisis de las imágenes que se obtengan durante el control de calidad de las gammacámaras, con objeto de cuantificar algunos de los parámetros medidos a partir de dichas imágenes [20]. ImageJ no solo se circunscribe a los campos de la medicina o la ingeniería, ejemplo de ello lo tenemos en Cuba, donde ImageJ se ha utilizado en imágenes digitales del arte rupestre cubano (Figura 1.1), a través del software DecorrelacionStretch (DStretch). Para dicho programa, se han utilizado fotografías tomadas en la estación rupestrológica Cueva de Camila en Minas de Matahambre, Pinar del Río, donde se logró rescatar mediante el uso de esta herramienta, parte de las imágenes rupestres hoy absolutamente deterioradas y casi imperceptibles para el ojo humano, por lo que ofrece a los investigadores una magnífica herramienta para la recuperación del registro y la documentación [5]. A pesar de ser el Matlab el programa que actualmente se encuentra disponible para las prácticas de laboratorio de PDI, ImageJ puede ser empleado como un programa de análisis y procesado de imágenes, al ofrecer las siguientes ventajas: . Está disponible de forma gratuita para todos los usuarios.. . Su implementación en Java asegura su portabilidad a cualquier máquina y con cualquier sistema operativo (siempre que se tenga instalado un entorno de ejecución Java o JRE, que se puede descargar gratuitamente desde internet) [20].. . Es un software libre y de código abierto que se distribuye bajo licencia pública general (GPL), lo que permite implementar herramientas dentro del propio ImageJ (plugins), como una aplicación aislada o incluso como un applet de Java en una página web [20].. . La creación de plugins basados en el programa, han facilitado su implementación y desarrollo..

(18) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 7. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. . El programa puede ser ejecutado para cualquier propósito.. . Puede ser mejorado y sus mejoras están disponibles para el público.. Figura 1.1 Procesamiento de una imagen del arte rupestre cubano de la Cueva de Camila. (A) Imagen original con su histograma y (B) imagen procesada por el DStretch ImageJ, según la combinación del canal de color YDS.. De forma general, procesar las imágenes en ImageJ permite conocer los métodos que se aplican para dicho análisis, al asegurar la obtención de valores comparables entre diferentes imágenes, a través de un software de código abierto y gratuito, que puede ser programado en beneficio de la aplicación que se desee [20]. 1.2. Análisis de las herramientas de ImageJ. La ventana de ImageJ (Figura 1.2) contiene barras de menús, de herramientas, de estado y una de progreso (adelanto). Las imágenes, histogramas, líneas de perfil, son mostrados en ventanas adicionales. Los resultados de las mediciones son mostrados en ventanas diferentes. Histogramas y gráficos son ventanas de imágenes comunes que pueden ser copiadas (para el portapapeles), editadas, impresas y salvadas..

(19) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 8. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. Figura 1.2 Ventana de ImageJ.. Barra de menús La barra de menús (Figura 1.3) contiene herramientas que permiten realizar diferentes operaciones con las imágenes en ImageJ, posee además opciones de la barra de herramientas.. Figura 1.3 Barra de menús de ImageJ.. Barra de herramientas La barra de herramientas (Figura 1.4) contiene herramientas para hacer selecciones, para la subida vertical, desplazar línea a línea imágenes y para cambiar el color del dibujo. Posee la opción para desplegar otras herramientas dentro de ésta. Con un clic sobre una herramienta se desplegará su descripción en la barra de estado.. Figura 1.4 Barra de herramientas de ImageJ.. Barra de estado En la barra de estado (Figura 1.5), cuando el cursor está sobre una imagen, muestra las coordenadas y valores del píxel. Después de ejecutar un filtrado, muestra el tiempo transcurrido para la ejecución del filtrado y evalúa la velocidad del proceso en píxeles/segundos. Con un clic sobre el estado mostrará la versión de ImageJ, versión Java, memoria en uso, memoria disponible y porcentaje de memoria usada..

(20) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 9. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. Figura 1.5 Barra de estado de ImageJ.. Barra de progreso La barra de progreso, localizada a la derecha de la barra de estado, muestra el progreso de tiempo consumido en las operaciones. No aparecerá si la operación requiere aproximadamente menos de un segundo. Las imágenes ImageJ permite múltiples imágenes que son mostradas en la pantalla a la vez. La ventana activa en cada momento tiene su barra de título resaltada. Todas las operaciones son realizadas en la imagen activa. Soporta a las imágenes en escala de grises (grayscale) con profundidad de bits (bit depth) de 8, 16 bits y 32 bits y las imágenes de color con profundidad de 8 y 32 bits. Puede filtrar una imagen de 2048 x 2048 en 0.1 segundos ganando una velocidad de alrededor 40 millones de píxeles por segundo [1][2][3]. Las pilas (stacks) ImageJ puede exhibir múltiples imágenes relacionadas en una sola ventana. Este conjunto de imágenes son llamadas pilas (stacks). Las imágenes que forman una pila son llamadas cortes (slices). Todos los cortes en una pila deben ser de la misma dimensión y profundidad de bits. Una barra de desplazamiento provee la habilidad de moverse a través de los slices. Selecciones Las selecciones son utilizadas para indicar o encerrar áreas (espacios o regiones) dentro de una imagen, quedando definidas o rayadas en la imagen. La selección única puede ser activa al mismo tiempo. Las áreas a seleccionar se ofrecen dentro de la barra de herramientas y pueden ser rectangulares (rectangular), ovaladas (oval), poligonales (polygon) y selección a pulso (freehand) (Figura 1.6). Las áreas seleccionadas pueden ser medidas (Analyze→Measure), filtradas, llenadas (Edit→Fill) o pueden trazarse como dibujos dentro de la imagen (Edit→ Draw). Para dibujar un área como una figura geométrica dentro de una imagen, que además de las antes mencionadas puede tener.

(21) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 10. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. también la forma de una línea recta (straight), primeramente debe seleccionarse la forma de la misma dentro de la barra de herramientas, luego marcarla con el cursor sobre la figura, finalmente dibujarla mediante Edit→Draw, y queda la figura geométrica con el color actual. En caso de dibujarse una línea recta, puede medirse su largo con Analyze→Measure.. Figura 1.6 Selecciones de ImageJ.. Formatos de Archivos El comando File/Open abre imágenes TIFF, GIF, JPEG, PNG, DICOM, BMP, PGM y FITS. También abre lookup tables y selecciones o regiones de interés (ROIs), además, el submenú File →Import provee vía de entrada de plugins para leer archivos con datos en formato raíz (RAW), las imágenes en formato ASCII y para cargar imágenes a partir de la red con el uso de un URL. Plugins Los plugins son módulos de códigos cargados que extienden las capacidades de ImageJ. Éstos pueden implementar cualquier algoritmo que sea necesario concentrándose en cómo realmente la imagen tiene que ser procesada. Todo el trabajo cuando leemos, exhibimos, magnificamos, al aplicar ROI, será manipulado por ImageJ. Los plugins pueden desarrollarse con cualquier Java IDE, pero la forma más fácil para crearlos es: al abrir el comando recorder (registrador), registrar una serie de comandos, y entonces clic en crear plugin. Se puede usar semejante procedimiento para modificarlo y mejorar algunos de los plugins previamente creados con el comando de menú Plugins→ Macros →Edit [1][3]. 1.3. Segmentación de imágenes en ImageJ. En ImageJ se pueden aplicar diferentes técnicas de segmentación gracias a los plugins actualmente disponibles para el programa, creados para aplicaciones específicas. Estos permiten detectar regiones de interés al dividir las imágenes en subdivisiones..

(22) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 11. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. 1.3.1 Concepto de segmentación La segmentación es el proceso de subdivisión de una imagen en sus regiones u objetos constituyentes. Estas regiones u objetos se identifican a partir de determinados rasgos o atributos que comparten: color, intensidad y textura. Un ejemplo de segmentación en ImageJ es con una imagen de fluido magneto-rheological (MRF) (la cual es una imagen de partículas microscópicas en agua o en otro fluido orgánico), donde con el algoritmo Otsu thresholding se obtiene un valor límite para la imagen mediante filtrado [24][24]. La segmentación de imágenes es un paso previo cuando se requiere identificar y extraer las diferentes características de un objeto en una imagen dada, que permitan realizar una descripción de dicho objeto. La detección de detalles o estructuras simples en las imágenes es una parte componente importante de otros procesos de mayor complejidad. Un ejemplo es la detección de puntos aislados, líneas o bordes, como parte del proceso de segmentación [7]. La segmentación tiene como objetivo subdividir la imagen en sus objetos o partes constituyentes, de acuerdo con determinados criterios. • El nivel de subdivisión a alcanzar durante la segmentación está determinado por el objetivo de la aplicación: la segmentación termina cuando los objetos de interés hayan sido aislados. • La segmentación de imágenes no triviales es una de las tareas más complejas y difíciles en el procesamiento digital de imágenes. • La precisión con que se logre la segmentación, determina a su vez el éxito o fracaso de los procesos automatizados de análisis basados en el resultado de ésta. Los algoritmos de segmentación de imágenes se basan por lo general en dos propiedades básicas: discontinuidad (que implica detectar las fronteras entre objetos o regiones) y similitud (cuando diferentes píxeles comparten determinada propiedad, que permite clasificarlos dentro de una clase dada). • En el primer caso (discontinuidad), la tarea es seccionar la imagen sobre la base de la detección de cambios abruptos de intensidad (bordes)..

(23) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 12. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. • En el segundo caso (similitud), los métodos seccionan la imagen en regiones que sean similares de acuerdo con un conjunto de criterios predefinidos. En este caso, son comunes la comparación con umbrales, el crecimiento de regiones (región growing), así como la subdivisión y fusión de regiones [7]. 1.3.2 Técnicas de segmentación en ImageJ En ImageJ se han implementado diferentes técnicas de segmentación a través de los plugins que han ayudado con el desarrollo del programa. Estos pueden ser accedidos en http://rsb.nih.gov/ij/plugins [23], y aquí se busca el nombre de la técnica deseada. La técnica SIOX (Simple Interactive Object Extraction), creada por Ignacio Arganda Carreras, Stephan Saalfeld y Johannes Schindelin [8], ésta puede ser accedida en el sitio oficial de ImageJ [23], requiere la versión de ImageJ 1.43m o posterior; para su instalación solo hay que arrastrar y dejar caer el fichero siox .jar encima de la ventana "ImageJ". Este es un plugin que segmenta imágenes RGB. Usa la clase ImageRoi de ImageJ, disponible en v1.43l y muestra la imagen segmentada con una cubierta semitransparente y no destructiva [8] (Figura 1.7).. Figura 1.7 Ejemplo del algoritmo SIOX de ImageJ.. La técnica Mixture Modeling, creado por Christopher Mei y Maxime Dauphin [9], requiere la versión de ImageJ 1.31p o posterior, añadiéndolo al paquete de plugins en los archivos JAR. Ésta puede ser obtenida en el sitio oficial de ImageJ [23]; para su instalación se descarga Mixture_Modeling.jar para la carpeta de plugins, o la subcarpeta, se reinicia ImageJ y habrá un nuevo comando en Plugins/Filters/Mixture Modeling. Este algoritmo.

(24) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 13. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. separa el histograma de una imagen en dos clases con un modelo gaussiano. Seguidamente calcula el umbral de la imagen como la intersección de las dos gaussianas. Esta técnica de umbralización tiene la ventaja de encontrar un nivel umbral que se ajuste más a los datos del mundo real. Los parámetros de las distribuciones gaussianas pueden utilizarse además para caracterizar las dos regiones obtenidas. El plugin devuelve un histograma con las dos gaussianas, los parámetros obtenidos (la media, la desviación estándar, el umbral) y la imagen resultante de la umbralización como se muestra en la Figura 1.8 [9].. Figura 1.8 Ejemplo del algoritmo Mixture Modeling de ImageJ.. La técnica Multi Otsu Threshold, creada por Yasunari Tosa [10] basándose en el algoritmo de Otsu, puede descargarse en el sitio de ImageJ [23], para la carpeta de plugins, o la subcarpeta, entonces se compila y se ejecuta Plugins/Compile and Run. Se reinicia ImageJ y habrá un nuevo comando "Multi Otsu Threshold" en el menú Plugins, o el submenú. Este plugin es una amplia implementación y una generalización del algoritmo de Otsu. La versión ImageJ está disponible como Otsu_ Thresholding.jar. Esta versión corre para imágenes en escala de grises de 8 bits con hasta 5 niveles. Cuando se ejecuta el plugin, se especifica el número de niveles y se obtienen las imágenes segmentadas y el histograma del nivel de gris [10]. La técnica MultiThresholder creada por Kevin (Gali) Baler, Gabriel Landini y Wayne Rasband [11], se descarga del sitio de ImageJ [23]. Se ejecuta para versiones de ImageJ 1.45j o posteriores. Con el comando Image>Adjust>Threshold este plugin permite al usuario segmentar la imagen activa con cualquiera de los 15 métodos de umbralado del plugin AutoThreshold de Gabriel Landini. Más información acerca de cada uno de los métodos está disponible como comentarios en el código de la fuente. El MultiThresholder (Figura 1.9) es una macro grabable [11]..

(25) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 14. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. Figura 1.9 Ejemplo del algoritmo MultiThresholder de ImageJ.. El algoritmo RATS_ (Robust Automatic Threshold Selection) creado por Ben Tupper y Mike Sieracki [12], puede obtenerse en el sitio oficial de ImageJ [23]. Para su instalación se descarga el fichero RATS .jar en la carpeta de plugins o una subcarpeta, se reinicia ImageJ o se selecciona el menú Help→ Update Menus. RATS establece umbrales regionalizados para una imagen a escala de grises, donde las regiones están establecidas por la arquitectura recursiva del quadtree (Figura 1.10) [12]. Para los píxeles dentro de cada región, el umbral calculado en la región requiere encontrar criterios mínimos, estos criterios son determinados por el usuario como una estimación de ruido (sigma) y un factor de escala (lambda). El usuario también puede seleccionar el tamaño mínimo de la región. Los umbrales para toda región son entonces interpolados (con el método bilineal) a través de la imagen entera. En general, los mejores valores para cada uno de los tres parámetros son determinados por tanteo y el error para una determinada suite de imágenes [12]..

(26) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 15. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. Figura 1.10 Ejemplo del algoritmo RATS de ImageJ, en el que se muestra un realce del borde con los quadtrees anidados para un cuadrante superpuesto.. La técnica de Otsu Thresholding para ImageJ fue implementada por Christopher Mei, Anthony Joshua y Tony Collins [13]. Requiere ImageJ 1.31p u otras versiones más avanzadas, añadiendo la habilidad de un paquete plugins en archivos JAR a través de su descarga del sitio de ImageJ [23], el cual puede ser abierto con una utilidad de ZIP. Su instalación, es por medio de la descarga de Otsu Thresholding.jar para la carpeta de plugins, o la subcarpeta, se reinicia a ImageJ, y habrá un nuevo comando Plugins/Filters/Otsu Thresholding. Este algoritmo es una implementación de la técnica Otsu Thresholding. El histograma es dividido en dos clases y la varianza interclase es minimizada. Este plugin devuelve una imagen umbralada con el umbral seleccionado por el programa. Una versión de 16 bits (Otsu Thresholding 16 Bit.java) y una macro, está disponible también [13]. El algoritmo de la transformada watershed fue implementado para ImageJ por Christopher Mei [14]. Requiere versiones de ImageJ 1.31p o posteriores. Su obtención es en el sitio de ImageJ [23], el cual puede ser abierto con una utilidad de ZIP. Para su instalación necesita la descarga de Watershed Algorithm.jar para la carpeta de plugins, o la subcarpeta, se reinicia ImageJ, y habrá un nuevo comando Plugins/Filters/Watershed Algorithm. Éste es una implementación del algoritmo de inmersión watershed escrito por Vincent y Soille (1991) (Figura 1.11) [14]..

(27) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 16. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. Figura 1.11 Ejemplo de la segmentación watersheds en ImageJ.. 1.4. Filtrado de imágenes en ImageJ. ImageJ posee un submenú que permite el filtrado de imágenes con diversos tipos de filtros (que incluyen los instalados a través del comando Plugins → Utilies → Install Plugin), los cuales facilitan el trabajo de filtrado en el procesamiento digital de imágenes. 1.4.1 Concepto de filtro Un filtro es un sistema que, dependiendo de algunos parámetros, realiza un proceso de discriminación de una señal de entrada obteniendo variaciones en su salida. Los filtros digitales tienen como entrada una señal analógica o digital y su salida tienen otra señal analógica o digital, que cambiar en amplitud, frecuencia o fase dependiendo de las características del filtro. El filtrado digital es parte del procesado de señal digital. Se le da la denominación de digital más por su funcionamiento interno que por su dependencia del tipo de señal a filtrar, así podríamos llamar filtro digital tanto a un filtro que realiza el procesado de señales digitales, como a otro que lo haga de señales analógicas. El filtrado digital consiste en la realización interna de un procesado de datos de entrada. El valor de la muestra de la entrada actual y algunas muestras anteriores (que previamente habían sido almacenadas) son multiplicados por unos coeficientes definidos. También podría tomar valores de la salida en instantes pasados y multiplicarlos por otros coeficientes. Finalmente todos los resultados de estas multiplicaciones son sumados, dando una salida para el instante actual. Esto implica que internamente tanto la salida como la entrada del filtro serán digitales, por lo que puede ser necesario una conversión analógico-.

(28) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 17. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. digital o digital-analógico para uso de filtros digitales en señales analógicas. Un elemento de prueba de estos circuitos típicamente es el ruido blanco [18]. El filtrado de imágenes se utiliza para mejorar la relación señal a ruido y separar componentes de las imágenes en el dominio de la frecuencia espacial. Se puede realizar en el dominio espacial y en el dominio frecuencial. En el filtrado digital de imágenes en el dominio de la frecuencia se utiliza la transformada discreta de Fourier bidimensional [7]. En el proceso de filtrado hay un conjunto de técnicas englobadas dentro del preprocesamiento de imágenes cuyo objetivo fundamental es obtener, a partir de una imagen original, otra final, cuyo resultado sea más adecuado para una aplicación específica, al mejorar ciertas características de la misma de modo que se posibilite efectuar operaciones de procesado sobre ella. Los principales objetivos que se persiguen con la aplicación de filtros son: . Suavizar la imagen: reducir la magnitud de las variaciones de intensidad entre píxeles vecinos.. . Eliminar ruido: eliminar aquellos píxeles cuyo nivel de intensidad es muy diferente al de sus vecinos y cuyo origen puede estar tanto en el proceso de adquisición de la imagen como en el de transmisión.. . Realzar bordes: destacar los bordes que se localizan en una imagen.. . Detectar bordes: detectar los píxeles donde se produce un cambio brusco en la función intensidad.. Por tanto, los filtros se consideran como operaciones que se aplican a los píxeles de una imagen digital para optimizarla, enfatizar cierta información o conseguir un efecto especial en ella [28]..

(29) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 18. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. Filtros FIR Los filtros digitales se usan frecuentemente para tratamiento digital de la imagen o para tratamiento del sonido digital. FIR es un acrónimo en inglés para Finite Impulse Response o Respuesta Finita al Impulso. Se trata de un tipo de filtro digital en el que, como su nombre indica, si la entrada es una señal impulso, la salida tendrá un número finito de términos no nulos. Para obtener la salida sólo se basan en entradas actuales y anteriores. Su expresión en el dominio n es: (1) En la expresión anterior N es el orden del filtro, que también coincide con el número de términos no nulos y con el número de coeficientes del filtro, la entrada es x(n) y la salida es y(n). Los coeficientes son bk [18][19]. Pueden hacerse multitud de variaciones de su estructura, haciéndolo como varios filtros en serie o en cascada. Estos filtros tienen todos los polos en el origen, por lo que son estables. Los ceros se presentan en pares de recíprocos si el filtro se diseña para tener fase lineal. Los métodos básicos para diseñar este tipo de filtros son [18][28]: 1. Método de las ventanas, que son las más habituales (ventana rectangular, de Barlett, de Hanning, de Blackman y de Kaiser). 2. Muestreo en frecuencia. 3. Rizado constante (aproximación de Chebyshev y algoritmo de intercambio de Remez). 4. Mínimos Cuadrados. Diseño de máscaras de filtros FIR-2D. Los sistemas FIR-2D poseen algunas características que los hacen atractivos para el filtrado frecuencial de imágenes:  Fáciles de representar como kernel de convolución (matrices de coeficientes)..

(30) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 19. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO.  Fáciles de analizar e implementar.  Fácilmente diseñables para que posean fase lineal o cero.  Aprovechan los diversos métodos que están bien establecidos para el diseño FIR-1D, entre estos:  Muestreo en frecuencias.  Enventanado.  Transformación de frecuencias. En el diseño de filtro FIR mediante muestreo en frecuencias la respuesta de frecuencias 2D ideal deseada ,. se muestrea en. puntos equidistantes sobre el plano. y al resultado se le aplica la IDFT-2D. La respuesta de frecuencias del filtro. resultante pasa por los puntos muestreados. Deben tomarse. , e impares, para lograr. simetría circular. Cuando la respuesta deseada. está centrada en frecuencias,. sus muestras (2). con. ,. A partir de. se obtiene la máscara FIR-2D (respuesta impulsiva), mediante , donde -∞ <. periódicas cada Mediante. y. < ∞. y. -∞ <. < ∞, con réplicas. .. truncamiento. se. confina ,. para. obtener. a ,. con lo. que. puede. provocar el fenómeno de Gibbs. Los filtros FIR tienen la gran ventaja de que pueden diseñarse para ser de fase lineal, lo cual hace que presenten ciertas propiedades en la simetría de los coeficientes. Este tipo de filtros tiene también aplicaciones en audio y otras señales. Además son siempre estables y.

(31) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 20. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. poseen simplicidad conceptual y computacional, por lo que son muy utilizados en el procesamiento de imágenes. Por el contrario también tienen, en general, la desventaja de necesitar un orden mayor respecto a los filtros IIR (Infinite Impulse Response o Respuesta Infinita al Impulso) para cumplir las mismas características. Esto se traduce en un mayor gasto computacional. No conducen a un diseño óptimo y no hay control sobre la respuesta de frecuencia en los puntos no muestreados, ya que provoca un rizado en ésta. En filtrado de imágenes no es posible utilizar filtros IIR, puesto que estos no ofrecen una respuesta de fase sea lineal o cero, y en el procesamiento digital de imágenes generalmente es importante para mantener la fidelidad que se cumpla con esta condición [21]. Diseño de filtros FIR-2D mediante enventanado. Partiendo de las muestras de una respuesta de frecuencias 2D ideal deseada , donde -∞ <. se determina mediante IDFT-2D la respuesta impulsiva -∞ <. < ∞, con réplicas periódicas cada. mediante el enventanado de es la ventana de orden. , <∞. y. y. . El filtro es realizable si se obtiene. , así. , donde. dada por:. (3). En el cual se tiene en cuenta para que. sea de fase cero, tanto. deben ser de simetría circular respecto al origen y se toma. y. como impares.. Las ventanas 2D se obtienen a partir de las 1D pudiéndose seguir dos caminos: 1. Rotando una ventana 1D, resultado con simetría circular pero no separable. 2. Si. es la ventana 1D cuyos coeficientes están dados en un vector fila, los. coeficientes de la ventana 2D serán. , donde el superíndice T. indica transpuesta, resultado con simetría no circular pero separable..

(32) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 21. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. Lo anterior hace que los filtros FIR mediante enventanado tengan como ventaja que la ventana resultante puede ser separable:. , pueden utilizarse todos. los tipos de ventanas 1D conocidas y posee gran simplicidad conceptual y computacional. A pesar de esto no se llega a un diseño óptimo, pues puede existir otro filtro que satisfaga las mismas especificaciones con un orden menor y no se tiene control sobre los parámetros de la respuesta de frecuencias finalmente lograda, ya que se hace un diseño mediante tanteo (iterativo) [21]. Diseño de filtro FIR mediante transformación de frecuencias. El diseño de un filtro de fase cero 2D, 1D,. , a partir de un filtro de fase cero. mediante la transformación de frecuencias (4). El método que se debe seguir para implementarlo es que dado un filtro FIR-1D de fase cero h[n]. con. longitud. 2N+1,. su. respuesta. de. frecuencia. , siendo b[n] los coeficientes de la respuesta impulsiva. Este diseño tiene como inconveniente que diseñar conjuntamente. y h[n]. constituye un procedimiento iterativo, un caso práctico es el conocido como transformación de McClellan, que produce filtros con simetría muy próxima a la circular, es:. (5) Además tiene como ventajas que preserva las características de ancho de banda de transición y rizado en las bandas de paso y rechazo del filtro 1D. Si el filtro 1D se diseña mediante un método de optimización por ejemplo el algoritmo de Parks & McClellan se llega a un filtro 2D óptimo, aunque su mayor dificultad es en la definición de una matriz de transformación. ..

(33) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 22. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. En general el diseño de filtros FIR-2D tienen como propósito encontrar la máscara del filtro. ,. que. permita. obtener. la. salida. mediante. convolución. de. , lo cual trae consigo de que todos puedan producir máscaras con simetría circular con una respuesta de frecuencias de fase cero. Si la máscara es de pequeña dimensión y además es separable, son fáciles de implementar en tiempo real y pueden ser más económicos, aun cuando su respuesta de frecuencias se distancia bastante de la ideal [21]. 1.4.2 Técnicas de filtrado en ImageJ El filtro Kuwahara creado por Wayne Rasband [16], puede ser accedido en el sitio oficial de ImageJ [23]. Para su instalación se descarga Kuwahara Filter.class para la carpeta de plugins, o la subcarpeta, y se reinicia a ImageJ. Este plugin es un filtro de reducción de ruido que conserva bordes (Figura 1.12). Entre las limitaciones que presenta es que no trabaja con imágenes de 32 bits y las selecciones en las imágenes RGB están ignoradas [16].. Figura 1.12 Ejemplo del filtro Kuwahara de ImageJ.. Michael Schmid y Tony Collins, son los creadores del filtro Sigma [15]. Requiere ImageJ1.38n u otras versiones más avanzadas Su instalación es a través del fichero Sigma Filter Plus.class para la carpeta de plugins y se reinicia ImageJ. Este plugin proporciona un filtro selectivo de media (Figura 1.13). En contraste el filtro término medio estándar, conserva bordes mejores y es menos sensible para los valores atípicos. Basado en el.

(34) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 23. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. algoritmo del filtro sigma, este suaviza la imagen al tomar un promedio sobre los píxeles vecinos. El rango está definido por la desviación estándar del valor del píxel vecino. Si el número de píxeles en este rango es demasiado bajo, entonces se realiza el promediado sobre todos los píxeles vecinos. Con la opción "OutlierAware", se promedia sobre todos los píxeles vecinos excluyendo el píxel central. Así, los valores atípicos que tienen un valor muy diferente de los circundantes no son incluidos en el promedio y son completamente eliminados. Para conservar los bordes, los valores de "Use Pixels Within" entre 1 y 2 sigmas son recomendados. Con valores altos, el filtro se comportará más como un filtro tradicional que promedia, donde los bordes son suavizados. Los valores típicos de la fracción mínima del píxel son aproximadamente 0.2, con valores superiores el resultado de la supresión es más ruidosa, pero los bordes son suavizados [15].. Figura 1.13 Ejemplo del filtro Sigma de ImageJ, el cual suaviza la imagen filtrada.. El autor del filtro FFT de ImageJ es Joachim Walter [17]. Este plugin está construido en ImageJ con el comando Process/FFT/Bandpass Filter. Su función principal es limpiar con un filtro estructuras grandes (shading correction) y estructuras pequeñas (smoothing) del tamaño especificado por el filtrado gaussiano en el espacio de Fourier. El filtrado de estructuras grandes puede ser imaginado como sustraer una versión de la imagen, lo cual es suavizado por un filtro (muy grande) del tamaño dado en el parámetro "filtro de las estructuras grandes". El filtrado de estructura pequeña trabaja como siempre: si el filtro es grande la imagen es suavizada..

(35) CAPÍTULO 1. GENERALIDADES SOBRE EL ESTUDIO DEL SOFTWARE IMAGEJ PARA SU. 24. UTILIZACIÓN EN EL PDI CON ÉNFASIS EN SEGMENTACIÓN Y FILTRADO. El plugin puede suprimir un rayado en la dirección horizontal/ vertical por componentes de Fourier que suprime en los ejes coordenados verticales/ horizontales. El parámetro de la "tolerancia", especifica de cuánto es la frecuencia además de los ejes suprimidos. La autoescala (autoscale) pone la intensidad mínima en 0 y la intensidad más alta en 255, y conserva todas las intensidades. La saturación (saturate), permiten que algunas intensidades entren en saturación, y produce un mejor contraste visual, ésta sólo hace efecto cuando la autoescala está habilitada [17]..

(36) CAPÍTULO 2. MÉTODOS EMPLEADOS EN EL SOFTWARE IMAGEJ PARA EL FILTRADO Y LA SEGMENTACIÓN DE IMÁGENES. 25. CAPÍTULO 2. MÉTODOS EMPLEADOS EN EL SOFTWARE IMAGEJ PARA EL FILTRADO Y LA SEGMENTACIÓN DE IMÁGENES. El presente capítulo tiene como objetivo presentar los métodos requeridos para implementar las técnicas de filtrado gaussiano, de mediana y de media, así como las técnicas de segmentación watershed y umbralado de Otsu, con imágenes de los laboratorios del curso de procesamiento digital de imágenes y otras de microscopía celular. Se crea así una nueva forma de trabajar con estos métodos a través de este software. La versión empleada de ImageJ es la 1.41o, programado en Java 1.6.0_23, la cual cuenta con 383 comandos y 33 macros. Con la ayuda del Matlab 7.0, se implementan estas mismas técnicas, con el propósito de comparar los resultados de ambos programas. 2.1. Imágenes utilizadas en el filtrado y la segmentación. Para el filtrado se emplean 10 imágenes médicas tomadas de los laboratorios, contaminadas en Matlab con la función „imnoise’, con ruido gaussiano de media 0 y varianzas 0.001, 0.003, 0.008 y 0.01 y ruido sal y pimienta con valores de densidad de 0.01, 0.03, 0.05 y 0.07, donde por ejemplo, para una densidad de 0.03, de cada 100 píxeles se contaminan el 3 por ciento de los píxeles. Las imágenes contaminadas se guardan con la función „imwrite‟ en formato bmp y no en jpg, para evitar pérdidas por compresión que puede ocasionarse con este tipo de formato, y de esta forma se logra una mayor igualdad de condiciones al calcular el error cuadrático medio de la imagen filtrada en Matlab y en ImageJ. El error cuadrático medio normalizado (NMSE) (1), es una forma de medir el nivel de contaminación con ruido contenido en una imagen, y así apreciar la efectividad del proceso.

(37) CAPÍTULO 2. MÉTODOS EMPLEADOS EN EL SOFTWARE IMAGEJ PARA EL FILTRADO Y LA SEGMENTACIÓN DE IMÁGENES. 26. de filtrado, lo cual se hace para la imagen original (y (i, j)) y la imagen contaminada (ŷ (i, j)), y luego se calcula para la imagen original y la filtrada.. (1) El valor del error cuadrático medio hallado es analizado por un factor de decremento, que da una medida de cuánto disminuye el ruido en la imagen, dado por (2) para el Matlab y (3) para el ImageJ. (2). (3) El ruido gaussiano es un ruido aleatorio que se adiciona en toda la imagen y según su intensidad modifica ligeramente o no el color de los píxeles y la intensidad [22] en la imagen, a medida que aumenta la varianza del ruido su desviación estándar se hace mayor por lo que la imagen quedará más afectada. Para atenuar el ruido, se filtra, tanto en Matlab como en ImageJ la imagen contaminada, y se utiliza el filtro gaussiano cuya varianza sea la apropiada para la potencia del ruido usada. Para esta evaluación se emplea una máscara gaussiana de 5x5. De forma semejante se procede con el filtro de promedio móvil. El ruido de sal y pimienta, es un tipo de ruido impulsivo que se caracteriza por no manifestarse por igual en todas las regiones de la imagen, convirtiendo el píxel y no su entorno, a totalmente blanco o totalmente negro, por lo que afecta generalmente a pocos píxeles de la imagen [22], si aumenta el valor de la densidad del ruido se contaminan más píxeles, para suprimirlo uno de los métodos que más se utilizan, por su fácil implementación es el filtro de mediana. Para aplicar los algoritmos de segmentación se emplean 10 imágenes de células sintéticas, en formato bmp, y la máscara correspondiente a cada imagen. Éstas, son procesadas en ambos programas con el método de Otsu y el de watershed..

(38) CAPÍTULO 2. MÉTODOS EMPLEADOS EN EL SOFTWARE IMAGEJ PARA EL FILTRADO Y LA SEGMENTACIÓN DE IMÁGENES. 27. Para comparar la calidad de la segmentación existen diferentes métodos, entre ellos el de Dice y el de Jaccard, para este caso se calculan los coeficientes de Jaccard, y esto se hace entre: 1. La imagen segmentada en Matlab y la máscara. 2. La imagen segmentada en ImageJ y la máscara. La ecuación para hallar los coeficientes está dada por: (4). Donde:. , y el símbolo |.| indica la cardinalidad del. conjunto. 2.2. Técnicas de filtrado empleadas en Matlab y en ImageJ. Los filtros empleados, son técnicas del filtrado frecuencial las cuales son aplicadas para la supresión de ruido gaussiano en las imágenes contaminadas, excepto la técnica de mediana, la cual es un filtrado espacial no lineal que tiene la propiedad de afectar poco los bordes de los objetos dentro de la imagen y es apropiada para eliminar el ruido sal y pimienta. 2.2.1.1 Técnica gaussiana en Matlab Para aplicar el filtro gaussiano en Matlab se siguen los pasos siguientes: I. Cargar la imagen (imread). II. Convertir la imagen de formato RGB a escala de grises (rgb2gray). III. Convertir de unidades enteras con 8 bits (uint8) a doble precisión (double) con la función im2double. IV. Contaminar con ruido gaussiano de media cero y varianza de valor que puede tomar uno de los valores preestablecidos (0.001, 0.003, 0.008 y 0.01). V. Calcular el error cuadrático medio entre la imagen contaminada y la original para saber el valor de éste antes de la descontaminación..

(39) CAPÍTULO 2. MÉTODOS EMPLEADOS EN EL SOFTWARE IMAGEJ PARA EL FILTRADO Y LA SEGMENTACIÓN DE IMÁGENES. 28. VI. Guardar la imagen contaminada como un fichero BMP. Para lograr una mayor atenuación del ruido sobre la imagen se busca un valor de sigma óptimo, que será diferente en cada imagen y para las diferentes varianzas del ruido con la cual se contaminan. Para ello se crea un vector vacío „NM‟ con un ciclo for para encontrar el valor de sigma que produce la máxima reducción de ruido con el mínimo NMSE para la imagen filtrada (Figura 2.1), y se procede al filtrado con el procedimiento de: VII. Cargar la imagen contaminada. VIII. Filtrar la imagen con este valor de sigma. Para ello se emplea la función „fspecial‟ que crea una matriz para este filtro, y con „imfilter‟ se realiza el filtrado gaussiano, el cual tiene repuesta impulsiva y de frecuencia como se muestra en las Figura 2.2 y Figura 2.3, donde se aprecia en esta última la campana gaussiana del filtro, para la imagen CT_LiverLesion, con una valor de sigma óptimo de 0.876 y una varianza de ruido de 0.01. IX. Convertir de unidades enteras con 8 bits (uint8) a doble precisión (double). XI. Finalmente se calcula el error cuadrático medio entre la imagen original y la filtrada, que debe dar un valor menor al de la contaminada.. Figura 2.1 Gráfica para encontrar el valor de sigma que muestra la máxima reducción de ruido para la imagen CT_LiverLesion contaminada con una varianza de 0.01..

(40) CAPÍTULO 2. MÉTODOS EMPLEADOS EN EL SOFTWARE IMAGEJ PARA EL FILTRADO Y LA SEGMENTACIÓN DE IMÁGENES. Figura 2.2 Respuesta impulsiva del filtro Gaussiano.. Figura 2.3 Respuesta frecuencia del filtro Gaussiano.. 29.

(41) CAPÍTULO 2. MÉTODOS EMPLEADOS EN EL SOFTWARE IMAGEJ PARA EL FILTRADO Y LA SEGMENTACIÓN DE IMÁGENES. 30. 2.2.1.2 Técnica gaussiana en ImageJ (gaussian blur) Este filtro usa la convolución con una función gaussiana para suavizar [26], con el efecto de un filtro paso bajo. Cuando se suaviza con un valor de sigma muy alto en la imagen, comienza a ser afectada por el efecto de borrosidad, por lo que píxeles alejados del centro se afectan más. Para aplicar esta técnica en ImageJ se siguen los siguientes pasos: I. Cargar la imagen contaminada en Matlab con File → Open. II. Verificar que ésta no esté en RGB, con los comandos Image → Show Info que muestran la información que caracteriza la imagen. III. De ser necesario, convertir la imagen de formato RGB a escala de grises con Image → Type → 8-bit, aunque la imagen ya se convirtió a esta escala en Matlab. IV. Filtrar la imagen con los comandos Process → Filters→ Gaussian Blur, y aparece una ventana (Figura 2.4) que muestra cómo se puede variar el resultado en la imagen si se asigna un valor de sigma (radius) antes de filtrar, aunque en este caso, para que el filtrado sea efectivo, el valor que se asigna es el buscado para cada imagen (sigma óptimo), como se explica anteriormente. El resultado se ve de forma previa si se marca la opción Preview de la ventana y se da clic en el botón OK para obtener la imagen resultante. V. Guardar la imagen filtrada como un fichero BMP en File → Save As → BMP. VI. Cargar en Matlab esta imagen. VII. Convertir de unidades enteras con 8 bits (uint8) a doble precisión (double). VIII. Calcular el error cuadrático medio entre la imagen original y la filtrada en ImageJ.. Figura 2.4 Ventana que muestra donde se varía el valor de sigma..

(42) CAPÍTULO 2. MÉTODOS EMPLEADOS EN EL SOFTWARE IMAGEJ PARA EL FILTRADO Y LA SEGMENTACIÓN DE IMÁGENES. 31. 2.2.2.1 Técnica de media en Matlab En esta técnica, Sxy permite representar el set de coordenadas de una ventana rectangular de subimagen de tamaño m x n, centrada en el punto (x, y). El proceso de filtrado de término medio de aritmética computa el valor común de la imagen contaminada g (x, y) en el área definido por Sxy. El valor de la imagen recuperada. en cualquier punto (x, y) es. simplemente la aritmética del filtro de media que usa los píxeles en la región definida por Sxy. En otras palabras: (5) Esta operación puede ser aplicada con una máscara de convolución en la cual todos los coeficientes tienen valor 1/m*n. Este filtro simplemente suaviza variaciones locales en una imagen, por lo que el ruido es reducido como resultado de emborronar [25]. El filtro de media o de promedio móvil se implementa en Matlab con el procedimiento siguiente: I. Cargar la imagen (imread). II. Convertir la imagen de formato RGB a escala de grises (rgb2gray). III. Convertir de unidades enteras con 8 bits (uint8) a doble precisión (double) con la función im2double. IV. Contaminar con ruido gaussiano de media cero y varianza de valor que puede tomar uno de los valores preestablecidos (0.001, 0.003, 0.008 y 0.01). V. Calcular el error cuadrático medio entre la imagen contaminada y la original para saber el valor de éste antes de la descontaminación. VI. Guardar la imagen contaminada como un fichero BMP. VII. Cargar la imagen contaminada. VIII. Crear una matriz de todos unos, la cual es dividida según el tamaño de la matriz, para ello se emplean matrices de 3x3 y 5x5. IX. Filtrar la imagen con la función „imfilter‟..

(43) CAPÍTULO 2. MÉTODOS EMPLEADOS EN EL SOFTWARE IMAGEJ PARA EL FILTRADO Y LA SEGMENTACIÓN DE IMÁGENES. 32. X. Convertir de unidades enteras con 8 bits (uint8) a doble precisión (double). XI. Calcular el error cuadrático medio entre la imagen original y la filtrada. 2.2.2.2 Técnica de media en ImageJ (mean) Este filtro es un caso particular de la convolución que suaviza la imagen actual y reemplaza cada píxel con el valor medio de la vecindad [26]. Esta técnica funciona como un filtro de promedio móvil, donde la ventana que aparece al abrirlo ofrece posibilidades de asignar el tamaño de la ventana que se emplea, aunque no es una técnica que tiende a preservar los bordes. Para descontaminar la imagen con el filtro de media en ImageJ se aplican los siguientes pasos: I. Cargar la imagen contaminada en Matlab con File → Open. II. Verificar que ésta no esté en RGB, con los comandos Image → Show Info que muestran la información que caracteriza la imagen, o en la parte superior de la ventana de la imagen abierta también se puede obtener esta información. III. De ser necesario, convertir la imagen de formato RGB a escala de grises con Image → Type → 8-bit, aunque la imagen ya se convirtió a esta escala en Matlab. IV. Filtrar la imagen con los comandos Process → Filters→ Mean, donde aparece una ventana que permite asignar el valor de radio (radius) deseado, esto sería, para una matriz de 3x3, radio 1 y una de 5x5, radio 2, ya que representa la distancia que hay desde el píxel central a los demás píxeles (el resultado del filtrado puede ser visto de forma previa). V. Guardar la imagen filtrada como un fichero BMP en File → Save As → BMP. VI. Cargar en Matlab esta imagen. VII. Convertir de unidades enteras con 8 bits (uint8) a doble precisión (double). VIII. Calcular el error cuadrático medio entre la imagen original y la filtrada en ImageJ, para saber la efectividad del filtrado..

(44) CAPÍTULO 2. MÉTODOS EMPLEADOS EN EL SOFTWARE IMAGEJ PARA EL FILTRADO Y LA SEGMENTACIÓN DE IMÁGENES. 33. 2.2.3.1 Técnica de mediana en Matlab El filtro de mediana es una técnica ideal para reducir el ruido sal y pimienta y preservar los bordes de la imagen. Para su implementación en Matlab se tuvieron en cuenta los pasos siguientes: I. Cargar la imagen (imread). II. Convertir la imagen de formato RGB a escala de grises (rgb2gray). III. Convertir de unidades enteras con 8 bits (uint8) a doble precisión (double) con la función im2double. IV. Contaminar con ruido sal y pimienta, con valores de densidad de 0.01, 0.03, 0.05 y 0.07. V. Calcular el error cuadrático medio entre la imagen contaminada y la original para saber el valor de éste antes de la descontaminación. VI. Guardar la imagen contaminada como un fichero BMP. VII. Cargar la imagen contaminada. VIII. Aplicar la técnica con la función „medfilt2’, para ventanas de 3x3 y de 5x5. Esta técnica toma lo valores de la ventana y los organiza de forma ascendente y con el valor de la mediana de ésta, remplaza el píxel por este valor. IX. Convertir de unidades enteras con 8 bits (uint8) a doble precisión (im2double). X. Calcular el error cuadrático medio entre la imagen original y la filtrada. 2.2.3.2 Técnica de mediana en ImageJ (median) Este filtro en ImageJ reduce ruido en la imagen activa y reemplaza cada píxel con la mediana de los valores vecinos del píxel [26] y corresponde a un filtro espacial de mediana, que tiene la propiedad de que al ser empleado tiende a preservar los bordes en la imagen a filtrar. Para filtrar la imagen en ImageJ se hacen los siguientes pasos: I. Cargar la imagen contaminada en Matlab con File → Open..

(45) CAPÍTULO 2. MÉTODOS EMPLEADOS EN EL SOFTWARE IMAGEJ PARA EL FILTRADO Y LA SEGMENTACIÓN DE IMÁGENES. 34. II. Verificar que ésta no esté en RGB, con los comandos Image → Show Info que muestran la información que caracteriza la imagen, o en la parte superior de la ventana de la imagen abierta también se puede obtener esta información. III. De ser necesario, convertir la imagen de formato RGB a escala de grises con Image → Type → 8-bit, aunque la imagen ya se convirtió a esta escala en el Matlab. IV. Filtrar la imagen con Process → Filters→ Median, donde aparece una ventana que al igual que en la técnica explicada anteriormente se puede variar el tamaño de la ventana al definir el radio deseado para cada filtrado (1 y 2 en este caso), el cual da la distancia del píxel central a los demás píxeles de la imagen, solo que a diferencia de ésta, este filtro tiende a preservar los bordes de la imagen (si se marca la opción Preview se observa con antelación la imagen que se obtendrá antes de dar clic en el botón OK). V. Guardar la imagen filtrada como un fichero BMP en File → Save As → BMP. VI. Cargar en Matlab esta imagen. VII. Convertir de unidades enteras con 8 bits (uint8) a doble precisión (double). VIII. Calcular el error cuadrático medio entre la imagen original y la filtrada en ImageJ, para saber la efectividad del filtrado. 2.3. Técnicas de segmentación empleadas en Matlab y en ImageJ. Las técnicas de segmentación empleadas en ImageJ son plugins incorporados al programa en la carpeta de plugins de su instalación. Éstas son implementadas tanto en Matlab como en ImageJ, donde se facilita y ayuda a la detección de bordes, en la cual la imagen se reduce al contorno o borde de los objetos que contiene, iluminada con diferente intensidad o color. Para comparar los métodos se calculan los coeficientes de Jaccard con la función: [DICE_O,DICEmean_O,J_O,Jmean_O] = Etiq_Eval_Otsu(Mascara,Imag_Seg). 2.3.1.1 Técnica umbralado de Otsu en Matlab El algoritmo de Otsu es una técnica que se basa en la comparación de umbrales, el cual se hace en Matlab para la imagen en escala de grises y con valores entre 0 y 1(normalizada). Con la función „graythresh‟ se determina un umbral global para la imagen con este método,.

Figure

Actualización...

Referencias

Actualización...