CIS1510AP04SISTEMA DE APOYO PARA IDENTIFICACIÓN Y ESTIMACIÓN DE VOLUMETRÍA
DE NÓDULOS PULMONARES
JOSÉ ALEJANDRO LEÓN ANDRADE
PONTIFICIA UNIVERSIDAD JAVERIANAFACULTAD DE INGENIERIA
CARRERA DE INGENIERIA DE SISTEMASBOGOTÁ, D.C.
2015
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
CIS1510AP04Sistema de apoyo para identificación y estimación de volumetría de nódulos pulmo-
nares
Autor:
José Alejandro León Andrade
MEMORIA DEL TRABAJO DE GRADO REALIZADO PARA CUMPLIR UNO DE LOS REQUISITOS PARA OPTAR AL TITULO DE INGENIERO DE
SISTEMAS
Director
Andrea del Pilar Rueda Olarte
Carlos Alberto Parra Rodríguez
Jurados del Trabajo de Grado
Catalina Alvarado Rojas
Miller Gómez Mora
Página web del Trabajo de Grado
http://pegasus.javeriana.edu.co/~CIS1510AP04
PONTIFICIA UNIVERSIDAD JAVERIANAFACULTAD DE INGENIERIA
CARRERA DE INGENIERIA DE SISTEMASBOGOTÁ, D.C.
Mayo, 2015
Página iPreparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
PONTIFICIA UNIVERSIDAD JAVERIANAFACULTAD DE INGENIERIA
CARRERA DE INGENIERIA DE SISTEMAS
Rector Magnífico
Jorge Humberto Peláez Piedrahita, S.J.
Decano Facultad de Ingeniería
Ingeniero Jorge Luis Sánchez Téllez
Director de la Carrera de Ingeniería de Sistemas
Ingeniero Germán Alberto Chavarro Flórez
Director Departamento de Ingeniería de Sistemas
Ingeniero Rafael Andrés González Rivera
Página ii
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Artículo 23 de la Resolución No. 1 de Junio de 1946
“La Universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus proyectos de grado. Sólo velará porque no se publique nada contrario al dogma y la moral católica y porque no contengan ataques o polémicas puramente personales. Antes bien, que se vean en ellos el anhelo de buscar la verdad y la Justicia”
Página iiiPreparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
AGRADECIMIENTOS
Quisiera agradecer principalmente a mi familia, en especial a mi papá, mi mamá y mi herma -
no quienes estuvieron siempre atentos y dispuestos a ayudarme en todo lo que estaba en
sus posibilidades.
De igual forma quisiera agradecer a mi buen amigo Héctor Sáenz, quien me colaboró brin-
dándome sus conocimientos de medicina relacionados al tema de este trabajo de grado.
Un agradecimiento especial a mis profesores, ingeniera Andrea del Pilar Rueda quien fue
una excelente directora de este trabajo, ingeniero Leonardo Flórez Valencia e ingeniero
Carlos Alberto Parra Rodríguez quienes me brindaron sus conocimientos y consejos, con los
cuales pude realizar el proyecto.
Página iv
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
CONTENIDO
CONTENIDO...............................................................................................................V
LISTA DE TABLAS...................................................................................................VII
LISTA DE FIGURAS.................................................................................................VII
LISTA DE ECUACIONES..........................................................................................IX
I - INTRODUCCIÓN..................................................................................................1
II - DESCRIPCIÓN GENERAL................................................................................2
1. OPORTUNIDAD, PROBLEMÁTICA, ANTECEDENTES............................................21.1. Formulación del problema que se resolvió..............................................................31.2. Justificación del problema........................................................................................41.3. Impacto Esperado.....................................................................................................5
2. DESCRIPCIÓN DEL PROYECTO............................................................................52.1. Objetivo general.......................................................................................................52.2. Objetivos específicos................................................................................................5
3. METODOLOGÍA...................................................................................................63.1. Fase de concepción..................................................................................................63.2. Fase de elaboración.................................................................................................73.3. Fase de construcción................................................................................................7
III – MARCO TEÓRICO...........................................................................................8
1. MARCO CONCEPTUAL.................................................................................81.1. Anatomía de los pulmones........................................................................................81.2. Nódulos Pulmonares.................................................................................................91.3. Estándar DICOM.....................................................................................................91.4. Imagen de TAC.......................................................................................................111.5. Escala HU...............................................................................................................121.6. Operaciones básicas en imágenes..........................................................................131.7. Filtro Mediana........................................................................................................141.8. Umbralización........................................................................................................151.9. Crecimiento de regiones.........................................................................................161.10. Morfología matemática........................................................................................171.11. Detección de bordes.............................................................................................181.12. Etiquetado de regiones.........................................................................................191.13. Transformaciones top-hat y bottom-hat...............................................................191.14. Algoritmo de Marching Cubes.............................................................................20
Página vPreparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
2. MARCO CONTEXTUAL...............................................................................213D Multi-Scale Line Filter for Segmentation and Visualization of Curvilinear Structures in Medical Images [38]......................................................................................................21Euclidean Distance Mapping [39].....................................................................................22Computerized Detection of Pulmonary Embolism in Spiral CT Angiography Base don Volumetric Image Analysis [40]........................................................................................23Automatic Detection of Pulmonary Embolism in CTA Images [41]..................................24
IV – ANÁLISIS..........................................................................................................241. Limitaciones............................................................................................................242. Suposiciones y dependencias..................................................................................253. Funciones de la aplicación.....................................................................................254. Descripción de los requerimientos del sistema......................................................255. Modelo de dominio.................................................................................................276. Plan de pruebas......................................................................................................28
V – DISEÑO...............................................................................................................311. Arquitectura............................................................................................................312. Componentes..........................................................................................................323. Implementación de la arquitectura.........................................................................34
VI – DESARROLLO DE LA SOLUCIÓN..............................................................38
1. DESARROLLO DEL ALGORITMO........................................................................381. Obtención de la imagen de entrada........................................................................402. Filtro mediana........................................................................................................403. Obtención de la máscara de los pulmones.............................................................414. Obtención de la máscara del mediastino...............................................................415. Obtención de árbol vascular y regiones con forma tubular...................................426. Obtención del volumen de candidatos....................................................................447. Obtención del volumen de imagen de candidatos..................................................46
2. DESARROLLO DE LA INTERFAZ GRÁFICA..........................................................471. Ventana principal...................................................................................................482. Forma de 4 vistas...................................................................................................483. Ventana de histograma...........................................................................................504. Forma de algoritmo................................................................................................515. Forma de datos.......................................................................................................536. Forma de volumetría..............................................................................................537. Ventana de modelo en 3D.......................................................................................55
VII – RESULTADOS................................................................................................56
1. PRUEBAS DEL SISTEMA.....................................................................................56
2. PRUEBAS DE ENTREGA.....................................................................................63
3. PRUEBAS DEL USABILIDAD...............................................................................69
Página vi
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
VIII – CONCLUSIONES..........................................................................................73
ANÁLISIS DE IMPACTO DEL DESARROLLO...................................................................731. Social......................................................................................................................732. Disciplinar..............................................................................................................733. Económico..............................................................................................................73
CONCLUSIONES Y TRABAJO FUTURO...........................................................................73
IX- REFERENCIAS Y BIBLIOGRAFÍA...............................................................75
LISTA DE TABLAS
Tabla 1: Interfaces entre componentes del sistema..................................................................34
Tabla 2: Integración de componentes.......................................................................................38
Tabla 3: Valores de variables utilizadas en el algoritmo.........................................................66
Tabla 4: Resultados de las pruebas de entrega.........................................................................67
Tabla 5: Resultados de falsos positivos en las pruebas de entrega..........................................68
LISTA DE FIGURAS
Figura 1: Estructura general de los pulmones (izquierda). Vista frontal de los pulmones y sus vías conductoras respiratorias [17].............................................................................................9
Figura 2: Estándar de Comunicaciones para imágenes médicas: DICOM [21].......................10
Figura 3: Funcionamiento de un tomógrafo [24].....................................................................12
Figura 4: Escala de Hounsfield para estructuras de interés [25]..............................................13
Figura 5: Representación de una imagen tridimensional como una matriz [27]......................13
Figura 6: Imagen original con ruido de sal y pimienta (izquierda). Imagen con filtro de me-diana con un kernel de tamaño 3X3(derecha) [29]..................................................................15
Figura 7: Imagen original en escala de grises (izquierda). Histograma de la imagen (centro). Resultado de umbralización con Tmin=127 y Tmax=255 (derecha) [29]...............................16
Página viiPreparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
Figura 8: Algoritmo de crecimiento de regiones en una imagen médica [31].........................17
Figura 9: Perfil de intensidad en un borde con forma de paso (izquierda), rampa con ruido (derecha) [33]...........................................................................................................................18
Figura 10: Ejemplo de etiquetado de regiones, imagen binaria (izquierda), imagen etiquetada (derecha) [34]...........................................................................................................................19
Figura 11: 15 configuraciones de topología del algoritmo de Marching Cubes [37] .............20
Figura 12: Ejemplo de expansión octagonal en píxeles [39]...................................................23
Figura 13: Diagrama de modelo de dominio............................................................................28
Figura 14: Secuencia de pruebas de integración [14]..............................................................29
Figura 15: Desarrollo de la prueba funcional [14]...................................................................30
Figura 16: Diagrama de la arquitectura general del sistema (MVC).......................................32
Figura 17: Arquitectura del procesamiento de datos (Pipeline o de tubería)...........................32
Figura 18: Componentes del sistema.......................................................................................33
Figura 19: Diseño del patrón Mediator [56].............................................................................36
Figura 20: Algoritmo para detección de candidatos.................................................................39
Figura 21: Grafo de navegabilidad...........................................................................................47
Figura 22: Barra de herramientas de la interfaz gráfica de la aplicación.................................47
Figura 23: Ventana principal de la interfaz gráfica..................................................................48
Figura 24: Diseño del panel de 4 vistas....................................................................................48
Figura 25: Selección de vista transversal en interfaz gráfica...................................................49
Figura 26: Vista de volumen....................................................................................................50
Figura 27: Diseño de la forma de histograma..........................................................................50
Figura 28: Diseño de la forma de algoritmo............................................................................51
Figura 29: Diseño de la forma de datos....................................................................................53
Figura 30: Diseño de la forma de la herramienta de volumetría..............................................53
Página viii
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Figura 31: Localización de región candidata en 2D.................................................................54
Figura 32: Localización de región candidata en 3D.................................................................55
Figura 33: Diseño de la ventana de la herramienta de modelo 3D..........................................55
Figura 34: Modelo en tres dimensiones del pulmón y los vasos y árbol bronquial.................56
Figura 35: Imagen de TAC con nódulos etiquetados [57].......................................................63
LISTA DE ECUACIONES
Ecuación 1: Transformación de los coeficientes en la escala Hounsfield................................12
Ecuación 2: Definición de Umbralización global....................................................................16
Ecuación 3: Definición de operación Top-hat..........................................................................19
Ecuación 4: Definición de operación Bottom-hat....................................................................20
Ecuación 5: Definición de matriz Hessiana.............................................................................21
Ecuación 6: Distancia 4 o distancia de bloque de ciudad........................................................22
Ecuación 7: Distancia 8 o distancia de tablero de ajedrez.......................................................22
Ecuación 8: Valor de coeficiente λ 1 para ser usado en una nueva imagen.............................45
Ecuación 9: Mapeo de intensidad de valores para re-escalar los valores de intensidad de una imagen......................................................................................................................................45
Página ixPreparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
ABSTRACT
Detection of pulmonary nodules in computarized tomography (TC) images have great signifi-
cance in actual clinical practice, given that the nodules are usually an asymptomatic condi-
tion, and its detection in early stages could avoid the onset of diseases such as cancer. Tak-
ing this into account, this work proposes a semi-automatic system for detection of possible
nodule regions in TC images, allowing the user to interact with the images in the three di -
mensions, in an intuitive way that facilitates the analysis of possible nodules and its final
diagnosis.
Página x
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
RESUMEN
La detección de nódulos pulmonares en imágenes de tomografía computarizada (TAC) es de
gran importancia en la práctica clínica actual, ya que los nódulos suelen ser una afección
asintomática, cuya detección en etapas tempranas puede evitar la aparición de enfermeda-
des como el cáncer. Teniendo en cuenta esto, en este trabajo se propuso un sistema semi-
automático de detección de regiones candidatas a nódulo en imágenes de TAC, permitiendo
al usuario la posibilidad de interactuar con las imágenes en tres dimensiones, de una forma
intuitiva que facilita el análisis de los posibles nódulos y su diagnóstico final.
Página xiPreparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
I - INTRODUCCIÓN
El presente trabajo se basa en el estudio y el análisis de la temática relacionada con imáge -
nes médicas de tomografía axial computarizada (TAC) de tórax, con el fin de encontrar nó-
dulos pulmonares de forma semiautomática, haciendo uso de la tecnología y de técnicas de
procesamiento de imágenes, y de esa forma, ayudar al radiólogo a realizar un diagnóstico
más preciso.
Inicialmente se presenta la descripción general del proyecto, donde se describe el problema
a tratar, sus antecedentes, la oportunidad que se presenta al hacer este trabajo y el impac -
to que se espera. Después se presentan los aspectos más importantes para entender lo que
se pretende realizar, incluyendo el objetivo general y los objetivos específicos, junto con la
metodología que se siguió para llevarlos a cabo.
Posteriormente se expone el marco teórico, donde aparecen descripciones de soluciones
relacionadas a la problemática en un ámbito global, y adicionalmente se presentan todos los
conceptos necesarios para comprender el entorno de la solución. En esta sección se detalla
lo relacionado con el procesamiento de las imágenes médicas para encontrar nódulos pul-
monares.
Consecutivamente se realiza como tal la aplicación, que incluye un análisis de las variables
relacionadas, los requerimientos y el plan de pruebas, también el desarrollo del diseño de la
arquitectura de la solución junto con los elementos que soportan dicha arquitectura (diagra-
mas, herramientas de desarrollo). A continuación se presenta la metodología que se siguió
para el desarrollo e implementación de la solución y los resultados obtenidos que incluyen
las respectivas pruebas realizadas.
Finalmente se realizan las conclusiones que incluye el impacto de la solución desde las
perspectivas: disciplinar, social y económica, y por último una descripción de lo que será el
trabajo futuro siguiendo con la investigación propuesta en este trabajo.
Página 1
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
II - DESCRIPCIÓN GENERAL
1. Oportunidad, Problemática, Antecedentes
Una de las principales problemáticas que se han presentado en el ámbito de la medicina, es
poder observar el interior del cuerpo humano, sin tener la necesidad de realizar procedi -
mientos invasivos; esto ha venido desarrollándose desde el año 1895 con el descubrimiento
de los rayos X y hoy forma lo que se conoce como ciencia de las imágenes diagnósticas en
medicina o imagenología. Generalmente la obtención de estas imágenes se hace con el fin
de realizar un análisis fisiológico, antes que anatómico, lo cual lo hace un factor importante
de estudio y desarrollo tanto en ciencias médicas como en la comunidad científica y sobre
todo la de la ingeniería. Gracias a dichas investigaciones y estudios, en los últimos años, ha
habido un crecimiento notable en cuanto al diagnóstico que puede darse gracias a las imá -
genes radiológicas y también a las tecnologías que las generan, lo cual ha facilitado la intro-
ducción de la informática en este campo[1] .
De esta manera, se han desarrollado diferentes técnicas y dispositivos para la obtención de
imágenes del interior del cuerpo, gracias a los avances tecnológicos relacionados con la ra -
diología, y en general con las imágenes médicas. Esto permite un análisis más profundo,
detallado y sencillo de los pacientes sin necesidad de someterlos a procesos invasivos, lo-
grando generar imágenes en dos y en tres dimensiones, incluso algunas en tiempo real [2] .
Aunque existe la tecnología para obtener dichas imágenes, aún se hace necesaria la inter -
vención del especialista (radiólogo) para su lectura e interpretación, quien se basa en la
manipulación de informaciones y conocimientos de origen diverso (una de las fuentes de
información más importante es la imagen). La interpretación debe requerir no sólo de cono-
cimientos sobre la técnica de imagenología, es decir, el conocimiento sobre los principios
físicos y mecánicos de la técnica de adquisición, sino también de conocimientos sobre ana-
tomía, lo cual incluye aspectos morfológicos, fisiológicos y patológicos [3] . Lo anterior de-
muestra que aunque se tenga la tecnología para obtener imágenes, un buen diagnóstico
Página 2
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
depende de variables como la memoria, conocimientos y entrenamiento del especialista, el
ambiente o condiciones bajo las cuales se obtuvo la imagen y las características del dispositi-
vo de obtención, entre otros, de forma que es siempre el especialista quien debe tomar una
decisión sobre un diagnóstico [4] .
En la actualidad, se cuenta con la obtención de las imágenes en formato digital, lo cual facili -
ta el tratamiento, procesamiento, transmisión, almacenamiento y visualización de las mis-
mas. En general, se utiliza un computador y un software para ayudar al especialista a tomar
decisiones más acertadamente, minimizando al máximo las variables que pueden afectar el
diagnóstico adecuado [5] . En el caso particular de este trabajo, se dio importancia a la de-
tección de nódulos pulmonares, debido a que es un problema muy común, y que requiere
de una imagen médica para su identificación y posterior tratamiento. Más específicamente,
se utilizaron las imágenes de Tomografía Axial Computarizada (TAC), ya que son uno de los
métodos más eficaces de encontrar tales anomalías [1] . El nódulo pulmonar actualmente es
uno de los problemas radiológicos más frecuentes y se halla en una de cada 500 radiogra-
fías, y su detección ha aumentado con el uso del TAC, especialmente de los equipos multide -
tector. Es importante resaltar que la detección temprana de un nódulo contribuye a evitar
un posible cáncer de pulmón o enfermedades más graves en el paciente [6] .
El enfoque de este trabajo, se centró en el análisis de imágenes obtenidas por un TAC pul -
monar o de tórax, para poder identificar posibles nódulos, y así presentarlos en una interfaz
gráfica que sea de utilidad y de ayuda para el diagnóstico que realiza el especialista.
1.1. Formulación del problema que se resolvió
El problema a resolver puede definirse a través de la siguiente pregunta: ¿Cómo generar
una aplicación con una interfaz gráfica que facilite a un médico la lectura e interpretación de
imágenes de TAC de tórax, para la identificación de estructuras del pulmón y de nódulos
pulmonares?
Página 3
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
1.2. Justificación del problema
Como se comentó anteriormente, el nódulo pulmonar actualmente es uno de los problemas
radiológicos más frecuentes y se halla generalmente en las tomografías de multicorte, en
este caso de TAC, ya que es la técnica más sensitiva para la detección de este tipo de calcifi -
caciones y proporciona mayor información que con otro tipo de imágenes. Con una imagen
de TAC se obtiene mejor resolución de los nódulos y la detección de lesiones muy pequeñas
(3 o 4 mm), además que es posible cuantificar el realce con contraste. Es necesario notar
que la TAC es uno de los medios más económicos para obtener imágenes médicas en 3D, lo
que hizo el proyecto más fácil de implementar y además con mayor facilidad de acceso por
parte del paciente y de quienes usan el software, en cuanto a tiempo y costos se refiere [7] .
Por las razones anteriores fue necesario y útil el uso de las Tomografías Computarizadas
para el proyecto.
En cuanto se refiere a la enfermedad o anomalía, existen varias problemáticas asociadas al
nódulo pulmonar solitario (NPS). En pacientes fumadores o mayores de 35 años, la propor-
ción de nódulos malignos diagnosticados previamente como indeterminados por técnicas no
invasivas, o mínimamente invasivas, puede llegar a un 68%. Por otra parte, un 20% a 30% de
todos los carcinomas (una forma de cáncer de tipo maligno) de pulmón se presenta como
un NPS. De igual forma, entre un 40% y 50% de los NPS identificados de forma radiológica
son lesiones malignas donde la mayor parte son carcinomas primitivos de pulmón [7] . Por
tal razón, es necesario e importante encontrar cualquier tipo de nódulo pulmonar en etapas
tempranas, con el fin de facilitar un diagnóstico y un tratamiento adecuado a los pacientes,
para evitar la formación de cáncer o tumores malignos.
Cabe destacar que en el mercado actual existen herramientas que proporcionan de manera
general, la interacción con imágenes médicas como Amide [8] o ITKSnap [9] , entre otras. Sin
embargo, en este proyecto se buscó una forma de desarrollar el problema específico de
nódulos pulmonares, brindando las herramientas necesarias para resolverlo. En particular,
se buscó generar una interfaz gráfica sencilla de utilizar para el usuario, que incluyera inte -
racción con el volumen de la imagen, ya que esta es una característica fundamental para el
Página 4
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
análisis de estas imágenes. Además, fue necesario integrar algoritmos de procesamiento de
imágenes y de interacción en 3D, para llegar al objetivo deseado, ocultando la complejidad
de todo el proceso al usuario, por medio de la interfaz gráfica. En conclusión, la función pri -
mordial del sistema es asesorar al experto en la toma de decisiones y ayudar a realizar un
mejor diagnóstico, con el fin de encontrar el tratamiento adecuado y monitorear al paciente
con respecto a la patología de los nódulos pulmonares, ya que estas personas requieren
diagnósticos lo más preciso posible [10] .
1.3. Impacto Esperado
Se espera que los resultados del proyecto se vean reflejados a corto y mediano plazo en el
Hospital Universitario San Ignacio, y más específicamente, en el área de radiología, donde se
encuentran los principales usuarios del sistema, y quienes también realizarán las pruebas de
usabilidad y algunas pruebas de validación. A largo plazo, se espera que la aplicación pueda
ser mejorada y utilizada para la enseñanza de los estudiantes de medicina de la Pontificia
Universidad Javeriana. Igualmente, se espera que pueda ser usada en el ámbito laboral para
encontrar nódulos pulmonares en pacientes reales que requieren un diagnóstico, y de ser
posible se espera que pueda ser manipulado como herramienta de simulación de algún tipo
de cirugía o procedimiento, cuando el paciente lo requiera.
2. Descripción del Proyecto
2.1. Objetivo general
Implementar una aplicación usando visión por computador, para ayudar a un médico en la
identificación, ubicación y estimación de la volumetría de nódulos pulmonares, en tomogra-
fía axial computarizada (TAC) de tórax.
2.2. Objetivos específicos
- Evaluar los diferentes métodos que se emplean en la segmentación y visualización
de imágenes médicas de TAC de tórax.
Página 5
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
- Diseñar un sistema para generar un modelo en 3D de los pulmones, que ayude a
identificar nódulos pulmonares y estimar su volumetría, a partir de imágenes TAC de
tórax.
- Implementar el sistema diseñado, junto con una interfaz 3D interactiva.
- Realizar pruebas funcionales y de usabilidad con tomografías de diferentes pacien-
tes.
- Analizar los resultados, con el fin de refinar la herramienta de software realizada.
3. Metodología
Ya que se buscaba realizar una aplicación funcional, centrándose más en el software que en
su documentación, y dadas las restricciones de tiempo para realizar el proyecto, se siguió
una metodología ágil de ingeniería de software, más específicamente la metodología ágil de
proceso unificado (AUP), de la cual se realizaron las fases de concepción, elaboración y cons-
trucción [11] .
En cada una de las fases, se llevó a cabo una serie de flujos de trabajo, que es lo que repre -
senta el aspecto iterativo de la metodología, esos flujos fueron [12]:
Modelamiento: que se refiere a la definición de los casos de uso del sistema.
Requerimientos: que se refiere a la definición y entendimientos de los requerimien -
tos del sistema.
Análisis y diseño: donde se generó un modelo de diseño y de análisis partiendo de
los requerimientos y llegando a la definición de una arquitectura.
Implementación: donde se generó el prototipo funcional del sistema a partir de la
arquitectura.
Pruebas: donde se realizaron las correspondientes pruebas para verificar que el
sistema cumpliera con los requerimientos.
Página 6
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
3.1. Fase de concepción
Durante esta fase se definió el contexto y el entorno bajo el cual se realizó el proyecto, esto
incluyó el alcance, los plazos para cada actividad, los riesgos y la factibilidad del proyecto. De
igual forma se definieron las interacciones que deben tener las entidades externas con el
sistema, siendo estas entidades los médicos en general, incluyendo los especialistas en el
tema de imágenes [13] . Al final de esta fase se entregó un avance inicial del estado del arte
en el tema de segmentación de imágenes médicas de TAC de tórax y de visualización de
imágenes en 3D, igualmente se entregó la definición de las actividades propuestas, los obje-
tivos claros del proyecto y el alcance del mismo. En resumen, al finalizar esta fase se entregó
un documento de SRS (especificación de requerimientos de software) y un documento don -
de se indicaba el alcance, calendario y factibilidad del proyecto.
3.2. Fase de elaboración
Durante esta fase, se complementó el documento anterior, además se construyó una arqui-
tectura para implementar la aplicación, esto implicó entender y analizar los riesgos que su-
ponía implementar esa arquitectura[12] . En esta fase se desarrolló un documento con la
arquitectura del sistema, este documento en su totalidad corresponde a un SDD (Descrip-
ción de diseño de software).
3.3. Fase de construcción
Esta fase correspondió a la implementación del sistema, la programación de todos los com-
ponentes de software y a la realización de las pruebas necesarias para aceptar el producto
[14] . Igualmente se realizaron análisis cuantitativos para analizar los resultados obtenidos,
mediante diferentes muestras de imágenes y mediante la observación de resultados [15] . Al
momento de finalizar esta fase se entregó el sistema funcionando, cumpliendo con los re-
querimientos planteados, una página web que contenía todos los documentos que debían
ser entregados, los manuales de usuario y de instalación y el documento de la memoria de
trabajo de grado.
Página 7
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
III – MARCO TEÓRICO
En este trabajo, se maneja principalmente la temática del procesamiento de imágenes y de
interacción 3D, y más específicamente, las imágenes médicas, con el fin de solucionar el
problema de encontrar posibles ocurrencias de nódulos pulmonares en una TAC de tórax.
1. MARCO CONCEPTUAL
A continuación se describirá algunos conceptos básicos de anatomía del tórax y de los pul -
mones, luego una descripción sobre los nódulos pulmonares y finalmente los conceptos
básicos del procesamiento de imágenes médicas, que ayudaran a entender el trabajo reali -
zado y sus trabajos relacionados.
1.1. Anatomía de los pulmones
Los dos pulmones, derecho e izquierdo, se encuentran situados en el tórax a ambos lados
del mediastino (espacio entre las cavidades pleurales que ocupan el centro de la cavidad
torácica) y sobre el diafragma y poseen características en su morfología que los diferencian
[16] . Por otra parte, la tráquea (que también hace parte de la estructura del tórax) encarga -
da de llevar el oxígeno a los pulmones, se divide en dos bronquios principales, los cuales se
dirigen hacia abajo, en sentido inclinado al lado izquierdo y derecho, penetrando ambos
pulmones. Cada bronquio se divide en varias ramas cada vez más delgadas tomando la for-
ma de ramaje de un árbol, por ello se conoce con el nombre de árbol bronquial [17].
Página 8
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Figura 1: Estructura general de los pulmones (izquierda). Vista frontal de los pulmones y sus vías conductoras respiratorias [17].
1.2. Nódulos Pulmonares
Los nódulos pulmonares son pequeñas y focales opacidades radiográficas que pueden ser
solitarias o múltiples y generalmente son detectados en otros exámenes de rutina de forma
incidental. Por definición se dice que un nódulo pulmonar solitario (NPS) es una única es -
tructura esférica bien circunscrita, con tamaño menor o igual a 3 cm de diámetro (si son
mayores a 3 cm son llamados masas pulmonares) y rodeado completamente por pulmón
ventilado. Es importante distinguir nódulos de tamaño muy pequeño, generalmente con
borde liso y apariencia sólida y uniforme, ya que los nódulos que tienen medida menor de 8
mm o 10 mm de diámetro son poco probable que sean malignos, por ello es significativo
encontrarlos en etapas tempranas y de esa forma evitar problemas a mediano o largo plazo
[18] .
1.3. Estándar DICOM
Estándar cuyas siglas significan “Digital Imaging and Communications in Medicine” o “Imáge-
nes Digitales y Comunicaciones en Medicina” en español, desarrollado por el ACR (American
Página 9
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
College of Radiology) y el NEMA “National Electrical Manufacturers Association”. Fue creado
con el objetivo de solucionar el problema que existía en cuanto a la incompatibilidad entre
los dispositivos de imágenes médicas, proporcionando inter-operatividad y no solo inter-co-
nexión [19]. Brinda una serie de formatos estándares que pueden ser usados con el fin de
intercambiar imágenes sin importar la modalidad o el fabricante de los dispositivos. De esta
forma, tanto los sistemas de telemedicina como los PACS (conjunto de equipos informáticos
dedicados a la adquisición, almacenamiento, procesado y comunicación de imágenes médi-
cas digitales e información asociada [20]) pueden almacenar, manipular e intercambiar imá-
genes con otros dispositivos médicos y estaciones de trabajo de visualización que también
soporten formatos DICOM. Por lo anterior, DICOM es el estándar de la industria para la
transferencia de imágenes e información médica entre dispositivos electrónicos.
Figura 2: Estándar de Comunicaciones para imágenes médicas: DICOM [21].
DICOM posee un modelo de información común, con el fin de asegurar que los mismos ob -
jetos de información sean usados por los sistemas de comunicación. También posee defini -
ciones de servicios de aplicación, para asegurar que dos o más sistemas de comunicación
pueden soportar los mismos servicios. Por tal razón, DICOM soporta los protocolos de trans -
misión ISO/OSI además de TCP/IP, lo cual permite usar cualquier tecnología de red actual
como Ethernet, FDDI, RDSI y ATM entre otros. El estándar DICOM está formado por varias
partes descritas en diferentes documentos, los cuales son detallados en el Anexo 2 [19].
Página 10
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Para el desarrollo de este proyecto es necesario el uso de algunos datos que vienen en el
encabezado de la imagen DICOM, dichos datos son conocidos como TAGs o etiquetas, los
cuales se describen en el Anexo 3.
1.4. Imagen de TAC
La tomografía axial computarizada o TAC se refiere a una técnica de exploración radiológica
que data desde el año 1972. Es una técnica que brinda una manera de examinar el cuerpo
de forma no invasiva, ya que representa el equivalente a radiografías de cortes transversales
del cuerpo en vivo. Una tomografía computarizada proporciona una serie de valores de den-
sidad para un corte concreto del paciente, con los que será posible entender las relaciones
entre las diferentes estructuras del cuerpo con precisión, ya que existe una nueva dimen-
sión en la imagen, y es esto lo que se conoce como imagen en tres dimensiones. Para formar
dicha imagen, se usa un tomógrafo, en el cual un haz de rayos X fino atraviesa el cuerpo del
paciente en el plano axial seleccionado, a medida que un tubo de rayos X se mueve en un
círculo alrededor del paciente. En sentido opuesto al generador, se encuentran los detecto-
res electrónicos, que son mucho más sensibles que las películas radiográficas comunes en
rayos X; éstos, convierten el haz recogido en un impulso eléctrico amplificado, y cuya inten-
sidad depende de la cantidad del haz residual de rayos X (cantidad que no ha sido absorbido
por los tejidos intermedios) [22]. Según lo anterior, la intensidad del impulso eléctrico de-
pende de la radiación absorbida por los diferentes tejidos que son atravesados por el haz de
rayos X, y que varía de acuerdo a la cantidad de grasa, hueso esponjoso y compacto y la
densidad acuosa del tejido en cada elemento [23]. Cada corte corporal puede ser visto como
un mosaico de volúmenes que forman una cuadricula geométrica, y que al ser transmitidos
a un ordenador, son analizados para calcular la absorción de rayos X de cada voxel del mo-
saico (cada región de la cuadricula), generando una disposición gráfica de todos los valores
de absorción en una imagen tridimensional, que finalmente configura la imagen de TAC final
[22].
Página 11
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
Figura 3: Funcionamiento de un tomógrafo [24].
1.5. Escala HU
La intensidad que un voxel muestra en la imagen en 3D, depende del valor de absorción de
radiación, y se expresa en unidades Hounsfield (Hounsfield Unit o HU en inglés) que no es
más que una transformación de la escala de coeficientes de atenuación lineal de rayos X en
otra escala que puede representar un valor de gris. Dicho valor es dado por el computador
mediante la ecuación:
HU= EK
(μm−μa)
Ecuación 1: Transformación de los coeficientes en la escala Hounsfield.
Donde E es la energía del haz de rayos X, K es una constante que depende del tomógrafo, y
μm y μa corresponde a los coeficientes lineales de atenuación del material y del agua respec-
tivamente. En esta escala, el agua tiene un valor nominal de 0, el cual fue asignado arbitra-
riamente, y a partir del coeficiente de atenuación del agua se comparan todos los demás
materiales, logrando obtener valores positivos y valores negativos; por una parte, de forma
ascendente, los valores más densos van hasta el hueso (que puede tener valor de +500 o
más), mientas que de forma descendente se pueden encontrar estructuras con valores des-
de la grasa hasta el aire (que puede tener valor de -500 o menos). En general el rango de los
Página 12
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
números de la escala es de 2000 HU (desde -1000 a +1000 HU), aunque en ocasiones depen -
diendo del escáner se pueden alcanzar escalas de 4000 HU [22] [25] . En el caso particular
del proyecto, los pulmones se encuentran con un valor de unidades Hounsfield entre (-400 a
-600).
Figura 4: Escala de Hounsfield para estructuras de interés [25].
1.6. Operaciones básicas en imágenes
Una imagen es definida como un conjunto de vectores de coordenadas en el espacio eucli -
diano [26]. Para el caso de una imagen tridimensional, una imagen puede ser vista como la
combinación de tres planos, o una matriz de tres dimensiones, donde cada matriz bidimen-
sional representa un corte transversal, sagital o coronal respectivamente, y donde cada
punto del espacio tiene un valor que representa un nivel de gris o intensidad y es llamado
voxel [26].
Figura 5: Representación de una imagen tridimensional como una matriz [27].
Página 13
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
En general en el procesamiento de imágenes, las operaciones que pueden realizarse sobre
las imágenes se pueden clasificar en cuatro categorías, que son: operaciones de voxel, don -
de la salida en un voxel, depende de la entrada en ese mismo voxel, independiente de todos
los demás; operaciones locales (vecindad), donde la salida en un voxel depende no solo de
la entrada en él, sino que también de la entrada de sus vecinos; operaciones geométricas,
donde la salida en un voxel depende sólo de los niveles de entrada en otros voxeles, defini -
dos por transformaciones geométricas; y operaciones globales, donde la salida en un voxel
depende de todos los demás en la imagen [26].
De acuerdo a lo anterior, es posible realizar operaciones matemáticas de dos o más imáge-
nes, teniendo en cuenta que se encuentran en un espacio euclidiano. Por tal razón operacio -
nes como la suma, resta, multiplicación y división de imágenes es permitida, y se realizan
voxel a voxel. Además para el caso particular de las imágenes binarias es posible realizar
operaciones de conjunto, por ello, operaciones como la unión, intersección y diferencia son
válidas y también se realizan voxel a voxel [28].
1.7. Filtro Mediana
La mediana es un método no lineal, que tiene como objetivo la supresión de ruido impulsi -
vo, es decir tanto el ruido de “sal” (puntos blancos), como el ruido de “pimienta” (puntos
negros). A diferencia de otros métodos para supresión de ruido, éste no usa un proceso de
convolución de la imagen con un kernel de coeficientes, sino que en cada posición de la
ventana definida por el kernel, un voxel de entrada contenido en la ventana es seleccionado
para ser el voxel de salida, el cual está localizado en las coordenadas del centro del kernel.
La ventana del kernel es centrada en cada voxel (k, m, m) para imágenes en 3D en la imagen
original, y el valor de mediana es calculado dentro del conjunto de voxeles en el kernel, cuyo
valor reemplaza al voxel en la coordenada (k, m, n) [29]. Cabe recordar que la mediana m de
un conjunto de valores es aquel valor tal que la mitad de los valores del conjunto son meno-
res que m y la otra mitad son mayores que m. En conclusión la función de este filtro es la de
forzar a los puntos con valores de intensidad muy distintos a sus vecinos, a tener valores
más próximos entre sí, de modo que se eliminan los picos de intensidad [30].
Página 14
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Una ventaja del uso de este filtro es que grandes discontinuidades como los bordes y gran -
des cambios en las intensidades, no son afectados en términos de intensidad de niveles de
gris, lo cual lo hace un filtro perfecto para eliminar ruido sin perder información de los bor-
des u otras características importantes de la imagen original [29]. En la siguiente imagen se
muestra el resultado de usar el filtro mediana con un kernel de tamaño 3X3 en un corte
transversal de una TAC de tórax.
Figura 6: Imagen original con ruido de sal y pimienta (izquierda). Imagen con filtro de mediana con un kernel de tamaño 3X3(derecha) [29].
1.8. Umbralización
Se trata de un proceso mediante el cual se busca separar los objetos específicos del resto de
la imagen (segmentación); para lograrlo hay varias las técnicas que pueden ser aplicadas,
como por ejemplo las basadas en el histograma de la imagen (umbralización global), basa-
das en propiedades locales como el valor promedio de una región junto con una desviación
estándar (umbralización local), o basadas en selección independiente para cada voxel (um-
bralización dinámica o adaptativa). Generalmente la umbralización global se utiliza cuando
la imagen es bimodal, es decir que un objeto puede ser extraído del fondo usando dos gru -
pos, cada uno con un nivel de gris diferente, mediante una simple operación en la cual los
valores de intensidad de cada voxel de la imagen son comparados con un valor de umbral T,
aquellos que cumplan con ese valor son agregados a un grupo y los demás son dejados en
el otro grupo. La umbralización de una imagen f(x, y, z) se define como:
Página 15
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
g ( x , y , z )=¿
Ecuación 2: Definición de Umbralización global.
Donde f(x, y, z) corresponde a la imagen de entrada, Tmin es el umbral mínimo y Tmax es el
umbral máximo que representan los valores de intensidad, entre los cuales deben estar los
voxeles que se quieren segmentar y g(x, y, z) es la imagen de salida que es de tipo binaria,
donde el conjunto de los voxeles de valor 1 son el objeto de interés [29].
Figura 7: Imagen original en escala de grises (izquierda). Histograma de la imagen (cen-tro). Resultado de umbralización con Tmin=127 y Tmax=255 (derecha) [29].
1.9. Crecimiento de regiones
Es un método de segmentación que busca grupos de voxeles con características similares en
una imagen y que correspondan a una misma región. Para realizar este procedimiento, se
inicia con un voxel o un grupo de ellos, llamado “semilla”, la cual debe pertenecer y tener
las características de la estructura o región de interés que se quiere encontrar. Luego de
seleccionada la semilla, el algoritmo de crecimiento de regiones verifica a sus vecinos de
acuerdo al tamaño o radio de búsqueda, uno a la vez, y lo agrega a la región de crecimiento
siempre y cuando sean similares, basados en una prueba de uniformidad (también llamado
criterio de homogeneidad). El algoritmo se ejecuta de forma recursiva para cada nuevo vo-
xel que sea agregado a la región de crecimiento, hasta que no sea posible agregar más y
finalmente, el objeto que se quiere segmentar será entonces la representación dada por el
conjunto de todos los voxeles que hayan sido seleccionados. En conclusión, la ventaja de
usar este procedimiento es que es capaz de segmentar regiones que tienen las mismas pro -
Página 16
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
piedades y que están espacialmente separadas, además de generar regiones conectadas
[29].
El criterio de homogeneidad usado en este proyecto fue un intervalo que constaba de un
umbral (intensidad de gris) mínimo y un umbral máximo, es decir que todos los voxeles que
pertenecían a la misma región donde se encontraba la semilla y cuya intensidad se en-
contraba dentro del rango establecido, eran aceptados para pertenecer a la región de creci -
miento.
Figura 8: Algoritmo de crecimiento de regiones en una imagen médica [31].
1.10. Morfología matemática
Al momento de realizar cualquier procedimiento de segmentación, es común que la imagen
binaria obtenida presente algunas deficiencias, por ejemplo la presencia de voxeles aislados
que no tienen que ver con el objeto segmentado y que aparecen en el fondo; en el caso que
exista proximidad de algunos objetos, puede producirse una conexión entre ellos en la ima-
gen binaria debido a que a que el umbral incluyó el nivel de los límites entre ambos; pueden
aparecer agujeros en un objeto de interés; incluso puede ocurrir que en la máscara existan
objetos partidos en los lados de la imagen. En general este tipo de artefactos pueden ser
eliminados mediante procesos de morfología matemática, los cuales usan operaciones lógi-
Página 17
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
cas (booleanas) y teoría de conjuntos [32]. Las operaciones de morfología matemática traba-
jan con dos imágenes (refiriéndose a una imagen como una matriz de voxeles), una de ellas
es la imagen que está siendo procesada llamada “imagen activa” y la otra es el kernel llama-
do “elemento estructurador”, este último puede tener formas y tamaños variados de acuer -
do al problema específico que quiera resolverse. Las operaciones básicas de la morfología
matemática son la dilatación (agrega voxeles a un objeto y lo hace más grande) y la erosión
(extrae voxeles a un objeto y lo hace más pequeño) , las cuales pueden ser combinadas para
formar las operaciones de apertura ( erosión seguida de dilatación para abrir pequeños hue-
cos) y clausura o cierre (dilatación seguida de erosión para cerrar los pequeños huecos) [26].
1.11. Detección de bordes
El borde en otras palabras se refiere al contorno de un objeto dentro de una imagen, y posi -
blemente es el paso más importante dentro del sistema de reconocimiento de imágenes
humano, ya que provee información de valor para poder realizar otros procesos. En sí, un
borde representa las discontinuidades que se pueden presentar en las intensidades dentro
de la imagen, ya sea por condiciones de luz, geometría del objeto, tipo de material, textura
de la superficie, entre otros. De acuerdo a lo anterior, encontrar el borde en una imagen
binaria o segmentada, es un proceso relativamente sencillo, ya que los cambios en intensi -
dades son notorios, diferente a como ocurre con una imagen en escala de grises, donde los
cambios son generalmente suaves. En estas últimas, el borde es una característica local den-
tro de un vecindario, que separa dos regiones con niveles de gris uniforme, pero con dife -
rentes valores en cada lado del borde, y puede ser visto matemáticamente como una fun-
ción paso de forma ideal, o en forma de rampa en forma real [33].
Figura 9: Perfil de intensidad en un borde con forma de paso (izquierda), rampa con ruido (derecha) [33].
Página 18
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
1.12. Etiquetado de regiones
Puede haber más de un objeto en la imagen, por ello, al tener una imagen segmentada bina -
ria, se tiene a su vez un conjunto de regiones separadas, las cuales deben ser extraídas y
estudiadas individualmente. Para ello se le asigna una etiqueta o nombre único a cada obje-
to separado, es decir que cada uno de los voxeles de una región separada, tendrán la misma
etiqueta. Para diferenciar una región separada de otra, se aplica el concepto de vecindad y
por tanto de vecinos directos o indirectos, de acuerdo a los parámetros pasados al algoritmo
que realiza este etiquetado. El resultado será entonces una nueva imagen donde cada voxel
tiene una etiqueta o nombre asociado [34].
Figura 10: Ejemplo de etiquetado de regiones, imagen binaria (izquierda), imagen eti-quetada (derecha) [34].
1.13. Transformaciones top-hat y bottom-hat
Top-hat y Bottom-hat, son transformaciones de morfología matemática las cuales sirven
para extraer pequeños elementos y detalles de una imagen, además de hacer un contraste
local dentro de la imagen para estructuras de interés. Por una parte, el procedimiento de
Top-hat de una imagen en escala de grises, tiene como resultado otra imagen que contiene
regiones que son más pequeñas que el elemento estructurador que se use, y que sean más
brillantes que las estructuras que las rodean y está definida como:
f ∘̂b=f −( f ∘b)
Ecuación 3: Definición de operación Top-hat
Donde f ∘b es la operación de apertura de una imagen f por un elemento estructurador b y
f corresponde a la imagen de entrada en escala de grises. Por otra parte, el procedimiento
de Bottom-hat de una imagen en escala de grises, tiene como resultado otra imagen que
Página 19
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
contiene regiones que son más pequeñas que el elemento estructurador y que además son
más oscuras que las estructuras que las rodean y se define como:
f ∙̂ b=( f ∙ b )−f
Ecuación 4: Definición de operación Bottom-hat
Donde f ∙ b es la operación de cierre de una imagen f usando un elemento estructurador b y
f corresponde a la imagen de entrada en escala de grises [35].
1.14. Algoritmo de Marching Cubes
El algoritmo de Marching Cubes es un procedimiento el cual convierte datos volumétricos
de imágenes médicas en mallas triangulares con superficies de densidad constante. El algo-
ritmo básicamente realiza un muestreo cubico, y analiza configuraciones locales de 8 puntos
vecinos de muestreo (vértices de un cubo), con el fin de reconstruir una superficie poligonal
mediante triángulos, usando interpolación lineal. El algoritmo posee una tabla de búsqueda
que define para cualquier configuración local de 8 vértices un conjunto de triángulos. Sin
embargo aunque hay 28=256 configuraciones diferentes, en la práctica aparecen solo 15
casos posibles en los que un cubo puede ser interceptado por la superficie, debido a sime-
trías rotacionales y casos complementarios [36].
Figura 11: 15 configuraciones de topología del algoritmo de Marching Cubes [37] .
Página 20
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
2. MARCO CONTEXTUAL
A continuación se presentan algunas soluciones relacionadas al tema del procesamiento de
imágenes médicas para llevar a cabo la ejecución del proyecto, especialmente a la detección
automática o semiautomática de nódulos pulmonares. También se presentan estudios que
sirvieron en parte al desarrollo de la aplicación.
3D Multi-Scale Line Filter for Segmentation and Visualization of Curvilinear Structures in Medical Images [38]
Se describe un método de realce de las estructuras curvilineales como lo son los vasos y
bronquios en imágenes médicas en 3D. El autor describe un método basado en un filtro de
realce el cual está basado en los valores propios (eigenvalores) de la matriz Hessiana, con los
que es posible hacer una discriminación, tanto de las estructuras de líneas de otras estructu-
ras, como de la recuperación de estructuras de línea originales que estén corruptas o daña-
das. El resultado luego de pasar las imágenes por el filtro, brinda una mejora significativa en
la segmentación de estructuras curvilineales, además da la posibilidad de visualización direc-
ta de dichas estructuras mediante la combinación de una técnica de renderización de volu-
men. De igual forma se presenta la utilidad del método a través de la visualización y seg-
mentación de vasos y bronquios en una imagen de tomografía computarizada.
El filtro está basado en los valores propios de la matriz Hessiana la cual está dada por la ma -
triz:
H=[ Ixx Ixy IxzIyx Iyy IyzIzx Izy Izz ]
Ecuación 5: Definición de matriz Hessiana
Donde I(x, y, z) corresponden a la imagen de entrada y los elementos en la matriz Hessiana
corresponden a las segundas derivadas parciales de la imagen, para cada voxel o punto, y
describe una estructura de segundo orden de variaciones de intensidad local, alrededor de
Página 21
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
ese punto. El filtro toma como entrada dicha matriz Hessiana y conserva los voxeles que
tienen valores propios λ3 cercanos a 0, mientras que λ2 y λ1 son valores muy negativos (para
estructuras tubulares brillantes), entonces se tiene que |λ1|<¿ λ2∨¿∨λ3∨¿ , y bajo esas
condiciones se tienen los siguientes casos:
Estructuras tubulares brillantes tendrán un valor de λ1 pequeño y un valor muy ne-
gativo de λ2 y λ3.
Estructuras tubulares oscuras tendrán un valor de λ1 pequeño y un valor muy positi-
vo de λ2 y λ3.
Estructuras con formas planas brillantes tendrán un valor de λ1 y λ2 pequeño y un
valor muy negativo de λ3.
Estructuras con formas planas oscuras tendrán un valor de λ1 y λ2 pequeño y un
valor muy positivo de λ3.
Estructuras con formas esféricas brillantes tendrán un valor de λ1 , λ2 y λ3 muy nega-
tivo.
Estructuras con formas esféricas oscuras tendrán un valor de λ1 , λ2 y λ3 muy positi-
vo.
Euclidean Distance Mapping [39]
En este artículo se propone un procedimiento basado en un descriptor de dos componentes,
que genera un mapa a partir de una imagen binaria, el cual indica para cada voxel dentro de
los objetos, la distancia más corta a un borde de la segmentación; de igual forma para cada
voxel fuera de los objetos, indica la distancia más corta a un borde de la segmentación. Para
lograr los dos componentes del mapa (movimiento hacia afuera o expansión y movimiento
hacia adentro o contracción), se usa una propagación paralela de forma iterativa en la ima-
gen binaria. Para el caso de un píxel, la distancia está basada en la métrica 4 u 8 definida
como:
Página 22
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
d4 ( (i , j ) , (h , k ) )=|i−h|+| j−k|
Ecuación 6: Distancia 4 o distancia de bloque de ciudad.
d8 ( (i , j ) , (h , k ) )=max (|i−h|,| j−k|)Ecuación 7: Distancia 8 o distancia de tablero de ajedrez.
Figura 12: Ejemplo de expansión octagonal en píxeles [39].
Computerized Detection of Pulmonary Embolism in Spiral CT Angiography Base don Volumetric Image Analysis [40].
En este artículo se desarrolla un método de detección de émbolos pulmonares en imágenes
de tomografía computarizada o TC, de forma automática. Dicho método está basado en la
segmentación de vasos pulmonares para limitar el área de búsqueda, además para poder
realizar el análisis de varias características que se obtienen en una imagen tridimensional,
como el tamaño de los vasos, el contraste local, el grado de curvilinealidad basado en segun-
das derivadas, y características geométricas como el volumen o la longitud. Para el desarro-
llo del proyecto se utilizó una característica importante de los voxeles para identificar candi-
datos, dicha característica es la opacidad, que para este caso en concreto, las estructuras
que se buscan (trombos y nódulos) tienen valores de Hounsfield más bajos que las estructu-
ras que los rodean (vasos), además, los voxeles que se encuentran cerca a las paredes de los
vasos muestran un valor de Hounsfield más bajo que los voxeles distantes (atribuible al efec-
to de volumen parcial). Lo anterior corresponde a una variación local de valores de Houns-
field, y se definió como contraste local (un atributo para cada voxel), el cual es determinado
en dos procesos basados en morfología en escala de grises, el primero corresponde a un
Página 23
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
cierre (dilatación seguida de una erosión) y el segundo corresponde a la resta del volumen
original con el volumen luego del cierre.
Automatic Detection of Pulmonary Embolism in CTA Images [41]
En este documento se propone un algoritmo para la detección automática de émbolos pul -
monares en imágenes de Tomografía Computarizada con mejora de contraste. Para ello se
segmentan las áreas de interés como lo son los pulmones, el mediastino, los vasos sanguí-
neos y bronquios. Luego se realizan métodos de realce de contraste local y de las estructu-
ras tubulares y esféricas, con el fin de reducir el área de búsqueda. Finalmente se analizan
los componentes conectados para poderlos clasificar de acuerdo a características propias de
los émbolos como el tamaño, la distancia al parénquima, los valores propios, entre otras.
IV – ANÁLISIS
A continuación se dará un análisis de las diferentes variables que se tuvieron en cuenta al
momento de desarrollar la aplicación, se describirán en forma general destacando los pun-
tos más importantes dentro el desarrollo del trabajo (Ver anexo SRS).
1. Limitaciones
Es importante mencionar que el sistema debe ser multiplataforma, por lo cual debe estar
desarrollado con herramientas que permitan la interoperabilidad en diferentes sistemas
operativos como Windows, Linux y MacOS. Además teniendo en cuenta la temática de pro-
cesamiento de imágenes y visualización de imágenes médicas, se decidió usar dos bibliote-
cas especializadas para ello, ITK [42], que provee métodos y filtros para el procesamiento y
VTK [43], que provee métodos para realizar la interacción y visualización. Para el desarrollo
de la interfaz gráfica fue seleccionada la biblioteca QT [44], ya que esta provee una integra-
ción con VTK [43] y además es de uso libre.
Teniendo en cuenta que para esta aplicación se requiere poca memoria, alto procesamien-
to y además no es necesario aspectos de seguridad, es necesario el uso del lenguaje de
programación C++, aprovechando la ventaja, que las tres bibliotecas mencionadas anterior-
Página 24
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
mente pueden ser utilizadas con C++. En cuanto al uso de datos, se tiene la limitación que
el sistema debe leer archivos en formato DICOM (.dcm).
Finalmente cabe resaltar que la aplicación está enfocada para médicos y especialistas en el
tema de radiología, por ello el diseño de la interfaz gráfica debe ser sencilla y muy intuitiva.
2. Suposiciones y dependencias
Las suposiciones principales es que el usuario puede interactuar con la aplicación únicamen-
te por medio de los periféricos de la pantalla, el teclado y mouse, además teniendo en cuen -
ta las limitaciones, el sistema debe estar desarrollado a partir de una arquitectura de MVC
(Modelo – Vista – Controlador), con una fuerte presencia de interfaz de usuario y manejo de
imágenes en tres dimensiones.
3. Funciones de la aplicación
La función principal que debe dar la aplicación al usuario, es la de poder realizar la interac -
ción con las imágenes de TAC de tórax, ello incluye las técnicas básicas de interacción en 3D
[45] que son: navegación a través del volumen de la imagen, selección de regiones o voxeles
dentro de la imagen y manipulación que incluye el cambios en intensidades de grises y de
colores incluyendo transparencias, rotaciones, translaciones y escalamientos.
Por otra parte, en cuanto al manejo de datos, la aplicación debe poder mostrar el histogra-
ma de la imagen de entrada, ya que es importante para el análisis de la imagen en cuanto a
identificación de regiones y en general para el procesamiento de imágenes. También es
necesario que el sistema permita la visualización de información acerca de la geometría y
ubicación espacial de estructuras o regiones de interés, con el fin de poder ser analizadas de
acuerdo a los parámetros requeridos.
4. Descripción de los requerimientos del sistema
Dado que la aplicación está enfocada al usuario y a la interacción con las imágenes, se reali -
zó una descripción de los requerimientos teniendo en cuenta los casos de uso, ya que estos
Página 25
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
describen la interacción que debe tener el usuario con el sistema, demostrando los límites y
funcionalidades que éste tiene [14]. Los casos de uso principales, descritos en esta etapa de
análisis son los siguientes:
1. Iniciar aplicación.
2. Abrir imagen DICOM.
3. Ver histograma.
3.1. Cambiar tipo de gráfico.
3.1.1. Ver gráfico acumulado.
3.1.2. Ver gráfico de líneas.
3.1.3. Ver gráfico de barras.
3.1.4. Ver gráfico de puntos.
3.2. Usar máscara.
3.2.1. Seleccionar máscara.
3.3. Cambiar límites de gráfico.
4. Ver todas las vistas.
4.1. Ver vista transversal.
4.2. Ver vista coronal.
4.3. Ver vista sagital.
4.4. Ver vista de volumen.
4.5. Cambiar de corte (slice).
4.6. Cambiar visualización.
5. Ver panel de algoritmo.
5.1. Ver imagen.
5.1.1. Ver imagen de entrada.
5.1.2. Ver mediana.
5.1.3. Ver región de pulmones.
5.1.4. Ver región de mediastino.
5.1.5. Ver región de interés.
5.1.6. Ver vasos escala de gris.
Página 26
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
5.1.7. Ver segmentación de vasos.
5.1.8. Ver intensidad.
5.1.9. Ver segmentación de intensidad.
5.1.10. Ver imagen de valores propios.
5.1.11. Ver segmentación de valores propios.
5.1.12. Ver imagen de contraste local.
5.1.13. Ver segmentación de contraste local.
5.1.14. Ver regiones candidatas.
5.2. Hacer mediana.
5.3. Hacer pulmones.
5.4. Hacer mediastino.
5.5. Hacer vasos.
5.6. Hacer imágenes de grises.
5.6.1.Hacer segmentación de intensidad.
5.6.2.Hacer segmentación de valores propios.
5.6.3.Hacer segmentación de contraste local.
5.7. Hacer imagen de candidatos.
6. Ver datos.
7. Ver volumetría.
7.1. Ver ubicación en 2D.
7.2. Ver ubicación en 3D.
8. Ver modelo tridimensional.
8.1. Seleccionar estructuras.
8.2. Seleccionar opacidades.
9. Cerrar aplicación.
A partir de la definición anterior, se hizo una descripción de requerimientos, los cuales dan
cumplimiento a cada uno de los casos de uso. Durante esta etapa se recolectaron 77 reque-
rimientos funcionales y 7 requerimientos no-funcionales (Ver Anexo SRS).
Página 27
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
5. Modelo de dominio
Con la descripción de los casos de uso y de los requerimientos, se pensó en una primera
implementación del sistema, teniendo en cuenta las funciones que debe proveer y además
que tiene que cumplir con aspectos de una arquitectura MVC. A continuación se muestra el
diagrama de modelo de dominio, el cual se realizó con el fin de modelar los conceptos más
relevantes dentro del sistema en general, sin definir operaciones, esto con el fin de ser una
guía para realizar el diseño, análisis y desarrollo del software [46]. class Clases
Coordinator
DICOMIOManage
DICOMProperties
MainWindow
HistogramFormFourPanelForm
AlgorithmForm
BinaryFilters
BoumaMethods
ImageProcessingUtils
ImageFilters
DicomDataForm
TridimensionalForm
VolumetricToolForm
Necesita
Necesita
Usa
Usa
Usa
Usa
Pide datos a
Pide datos a
Pide datos a
Pide datos a
Pide datos a
Tiene
Tiene
TieneTiene
Referencia
Crea
Crea
Pide datos a
Pide datos a
Figura 13: Diagrama de modelo de dominio
En el anterior diagrama se muestra de forma clara la arquitectura propuesta, en este caso el
modelo corresponde a los objetos que son usados por el coordinador o controlador, mien-
tras que la vista corresponde a los objetos que piden datos al coordinador.
6. Plan de pruebas
Con el fin de comprobar el correcto funcionamiento del sistema, cumpliendo con los reque-
rimientos obtenidos durante esta fase, se realizaran las siguientes pruebas descritas a conti-
nuación:
Página 28
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
- PRUEBAS DEL SISTEMA: Se realizarán pruebas del sistema que se ocupan de probar la
aplicación en su totalidad, en este caso pruebas de integración, lo cual implica integrar
dos o más componentes que implementan funciones o características del sistema [14] .
Inicialmente se debe hacer pruebas de integración, donde se busca identificar los com-
ponentes que tienen que ser depurados, en otras palabras, encontrar defectos en el
sistema [14] .
Figura 14: Secuencia de pruebas de integración [14]
En la anterior gráfica se observa la forma en cómo debe funcionar estas pruebas.
Inicialmente se tienen dos componentes y se realizan pruebas a cada uno y cada vez
que se agrega un nuevo componente se deben realizar todas las pruebas, incluyen-
do las que ya se habían realizado y por supuesto las nuevas [14] . Esta prueba está
directamente relacionada con la prueba de componentes la cual debe realizarse
para probar: funciones individuales o métodos dentro de todos los objetos, las cla-
ses en sus atributos y métodos, componentes compuestos formados por diferentes
objetos y funciones [14] . La idea es que mientras se realiza la etapa de desarrollo, y
cada vez que se cree un nuevo componente, método o atributo, éste debe probarse
y verificar que funcione bien de forma aislada, para luego empezar a integrarlo con
otros componentes ya probados.
- PRUEBAS DE ENTREGAS: se realizarán pruebas de entregas, que se refieren al proce-
so de probar una entrega del sistema que será distribuida a los clientes, también se
conoce como prueba funcional ya que con ella solamente se buscará verificar el
cumplimiento de requerimientos y de funciones del sistema descritos en la fase de
Página 29
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
análisis. Esta prueba será un proceso de caja negra, ya que los resultados que se
obtienen de ella únicamente tendrán que ver con las entradas que se ingresen al
sistema [14] . Para esta prueba se verificarán los resultados obtenidos a partir de
diferentes escenarios como por ejemplo: elegir entradas que fuerce a errores del
sistema, repetir muchas veces la misma entrada, forzar a salidas invalidas, forzar
resultados demasiado grandes o demasiado pequeños, y verificar los resultados
finales bajo condiciones y entradas normales. La persona encargada de realizar esta
prueba puede ser el desarrollador o el cliente.
Figura 15: Desarrollo de la prueba funcional [14]
- PRUEBAS DE USABILIDAD: con esta prueba se busca medir que tan bien puede un
usuario usar el sistema desarrollado. Inicialmente se debe seleccionar un grupo de
usuarios y solicitarles que desarrollen una tarea específica, mientras que se toma
nota de las dificultades que éstos tengan al realizar el procedimiento. Esta prueba
puede realizarse con prototipos del sistema y no es completamente necesario reali -
zarla sobre el producto final. Además, se deben tener en cuenta métricas como la
exactitud (número de errores cometidos), tiempo requerido para realizar la activi-
dad, recuerdo (que tanto recuerda el usuario la aplicación después de un tiempo de
no usarla) y la respuesta emocional del usuario [47].
Página 30
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
V – DISEÑO
1. Arquitectura
La arquitectura del sistema tiene dos perspectivas: una desde la aplicación para el usuario, y
otra desde el procesamiento de los datos ya sea de imágenes o de visualización. Con el fin
de llevar una trazabilidad en todo el desarrollo del proyecto, de facilitar los cambios y en
general de poder realizar el mantenimiento del sistema, se desarrolló la aplicación teniendo
en cuenta el paradigma orientado a objetos.
En cuanto a la aplicación, se implementa una arquitectura que usa el patrón de modelo-vista
controlador (MVC), la cual busca separar los datos y la lógica de negocio de la interfaz de
usuario y del módulo que controla la comunicación entre ellos, dando la sensación al usua-
rio de la aplicación, que está manipulando los datos directamente (modelo) [48].
Ya que se trabaja con tres bibliotecas diferentes ITK [42] (Modelo), VTK [43] – QT4 [44] (Vis-
ta), el uso de este patrón es necesario y útil en esta aplicación, ya que existe una separación
clara entre los componentes del programa, lo cual permite que su implementación pueda
hacerse por separado y luego unirlos en tiempo de ejecución, con lo que se facilita también
el reemplazo y modificación de cada uno de los componentes del sistema [49].
En este caso, el modelo es la representación de los datos, es decir todo lo relacionado con el
procesamiento de imágenes médicas, donde se implementan filtros de ITK. La vista permite
mostrar la información que provee el modelo en un formato adecuado para ser visualizado
por el usuario, el cual podrá interactuar con dichos datos, donde se implementan filtros de
VTK en conjunto con métodos de QT. Finalmente, el controlador responde a los eventos
provocados por el usuario en la interfaz (como un clic o digitar un texto), lo cual implica
cambios en la vista y procesamiento en el modelo, dando una correcta gestión a las entra-
das que se presentan [50].
Página 31
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
Figura 16: Diagrama de la arquitectura general del sistema (MVC)
En cuanto al procesamiento de datos, se usa la arquitectura de pipeline (o de tubería), pro-
pios tanto de ITK como de VTK, con la cual se pueden convertir o procesar datos de entrada
como imágenes o mallas en datos de salida, mediante diferentes tipos de filtros. Esta arqui-
tectura soporta la actualización automática de los filtros cuando hay un cambio en la entra -
da o en su estado interno, además posee la ventaja que puede romper datos en piezas más
pequeñas para procesarlas una por una, y finalmente juntar los resultados para dar la salida
deseada [51] [52].
Figura 17: Arquitectura del procesamiento de datos (Pipeline o de tubería)
2. Componentes
Los principales componentes del sistema son las bibliotecas VTK para la visualización, ITK
para el procesamiento de imágenes y datos, y QT para usar en conjunto con VTK en la imple -
mentación de la interfaz gráfica. Se tiene además un componente de “recursos”, que contie-
Página 32
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
ne los iconos e imágenes que serán usados en la aplicación. A continuación, se muestra el
diagrama de componentes.
Figura 18: Componentes del sistema
Y la comunicación entre los componentes es la siguiente.
Interface Método Descripción – Uso
Aplicación – ITK API de ITK [53]. Para realizar todos los algoritmos que usen
las imágenes, leer el encabezado que con-
tiene los datos de la imagen (paciente,
tamaños en mm de los píxeles, separación
en mm de cada corte o slice, entre otros),
e incluso para tener la imagen en memoria
y poderla visualizar se utilizan métodos y
clases de la biblioteca de ITK.
Aplicación – VTK API de VTK [54]. Para realizar la visualización en 2D de las
imágenes, visualizar volúmenes, interac-
ciones del usuario con las imágenes y volú-
Página 33
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
menes, también para visualizar diferentes
tipos de gráficas, se utilizan métodos y
clases de la biblioteca de VTK.
Aplicación – QT API de QT [55]. Para realizar toda la interfaz gráfica de la
aplicación, manejo de controles y mensa-
jes, y para integrar la visualización median-
te VTK, se utilizan métodos y clases de la
biblioteca de QT.
Tabla 1: Interfaces entre componentes del sistema
3. Implementación de la arquitectura
De acuerdo a la arquitectura de Modelo – Vista – Controlador y basándose en el modelo de
dominio, se distribuyeron las funciones en diferentes objetos los cuales se describen a conti -
nuación (para más detalles Ver anexo Diagrama de Clases).
Modelo
DICOMIOManage: es la clase encargada de realizar todas las operaciones de
entrada y salida relacionadas con imágenes DICOM.
DICOMIOProperties: es la clase encargada de extraer las propiedades, atributos
o datos del encabezado de la imagen DICOM.
ImageFilters: contiene todos los métodos necesarios para hacer cualquier filtro a
una imagen.
BinaryFilters: contiene los métodos que usan operaciones binarias.
BoumaMethods: contiene los métodos usados del algoritmo de Bouma [41].
ImageProcessingUtils: contiene los métodos que si bien no son un filtro, son úti-
les en el procesamiento de imágenes.
Página 34
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Vista
Dentro de la vista se pueden encontrar dos tipos de objetos, aquellos que generan una nue-
va ventana (TridimensionalForm, HistogramForm), y aquellos que aparecen como un panel
dentro de la ventana principal (VolumetricForm, AlgorithmForm, DicomDataForm, FourPa-
nelForm) aprovechando las herramientas que brinda QT, con el fin de no sobrecargar una
vista.
TridimensionalForm: es la vista encargada de mostrar el modelo en tres dimensiones.
VolumetricForm: es la vista encargada de realizar la interacción del usuario con el análi -
sis de las regiones candidatas, ya que provee el volumen aproximado y las coordenadas
de dichas regiones. Al ser una parte de la ventana principal, posee comunicación con
esta.
MainWindow: ventana inicial del sistema, en ella se muestran todos los datos impor-
tantes, incluyendo la imagen. Tiene comunicación con todas las demás vistas.
AlgorithmForm: es la vista encargada de mostrar el algoritmo al usuario, y da la posibili -
dad de ver las imágenes obtenidas por el algoritmo. Al ser una parte de la ventana prin-
cipal, posee comunicación con esta.
DicomDataForm: es la vista encargada de mostrar los datos del paciente y de la imagen
en la interfaz gráfica. Al ser una parte de la ventana principal, posee comunicación con
esta.
FourPanelForm: es la vista encargada de mostrar las imágenes en la interfaz gráfica,
mediante cuatro paneles correspondientes a las 3 vistas o planos principales, y a una
vista de volumen. Al ser una parte de la ventana principal, posee comunicación con
esta.
HistogramForm: vista encargada de realizar la interacción del usuario con el histograma
de la imagen de entrada.
Controlador
Coordinator: es el controlador del sistema, usa los métodos del modelo para retornar
información a la vista.
Página 35
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
Patrones de diseño
En general, el único patrón usado (aparte del MVC considerado como la arquitectura) en el
proyecto fue el “Mediator” que puede ser usado para diseñar un controlador, el cual coordi -
na un modelo de comunicación entre grupos de objetos, eliminando la necesidad de objetos
para referirse unos a otros directamente [56]. En cuanto a las vistas, todas se comunican
con la clase de “MainWindow” la cual sirve en muchos casos de mediador entre todas las
vistas y el controlador. Por otra parte el mediador más visible es el “Coordinator”, el cual se
encarga de tomar las peticiones de la vista, pedir datos al modelo y retornar datos a la vista,
todas las vistas se comunican con el “Coordinator”. Puede verse en el diagrama de clases, la
forma en como el “Coordinator” hace las funciones de mediador entre la vista y el modelo e
incluso entre las mismas clases de la vista.
Figura 19: Diseño del patrón Mediator [56]
Vista de interacción
En la vista de interacción se define el comportamiento del sistema a través del tiempo y la
interacción entre los diferentes objetos para cumplir una función.
En general se presenta la misma interacción para cualquier función que se realice, y al tra-
tarse de una arquitectura MVC el paso de mensajes entre componentes del sistema es el
mismo (para mayor detalle Ver Anexo de SDD).
Página 36
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
La acción siempre inicia cuando el actor o usuario realiza alguna petición como por ejemplo,
ver el histograma, abrir imagen, realizar algoritmo, etc. Todas las peticiones llegan a la “vis-
ta”, la cual pide los datos necesarios al coordinador para dar una respuesta a la petición del
usuario. El coordinador utiliza métodos del modelo (generalmente filtros) para retornar los
datos a la vista, la cual muestra dicha información al usuario en la interfaz gráfica. Las vistas
que son paneles (datos, algoritmo y volumetría), se comunican con la ventana principal para
poder mostrar los datos en esa ventana.
Integración entre los componentes
Para integrar las tres herramientas primero se debe tener claro qué función realiza cada una
de ellas:
ITK: es una biblioteca para el procesamiento y análisis de imágenes.
VTK: es una biblioteca para la visualización de diferentes tipos de datos.
QT: es una biblioteca para la creación de interfaces gráficas de usuario.
Usando el patrón Mediador y el patrón o arquitectura MVC, es posible realizar la integración
de los tres componentes, teniendo en cuenta que el procesamiento de imágenes no requie -
re de VTK ni de QT, de esa forma cada componente puede construirse por separado, y el
controlador, será el encargado de llevar datos desde el modelo (ITK) hacia la vista (VTK – QT)
y viceversa.
De acuerdo a lo anterior, en el proyecto únicamente se utilizaron los siguientes métodos
para la integración de los tres componentes.
COMPONENTES
MÉTODO O
ELEMENTO DESCRIPCIÓN
VTK - QTQVTKWidget
Biblioteca encargada de gestionar ventanas de VTK
en una interfaz gráfica creada con QT.
GetInteractor() Obtiene un apuntador del objeto Interactor con el
que se pueden obtener y cambiar características de
Página 37
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
los datos a visualizar.
GetRenderWin-
dow()
Obtiene un apuntador al RenderWindow, con el que
se pueden obtener y cambiar características de la
forma en cómo se muestran los datos.
SetRenderWindow()Ajusta un nuevo RenderWindow al QVTKWidget
existente.
VTK - ITK
Itk::ImageToVTKI-
mageFilter <Image-
Type>
Filtro que realiza el cambio de una imagen en for-
mato de ITK a VTK.
VTK - ITK - QT Coordinator
Clase encargada de realizar la integración de las tres
herramientas. Es el controlador en la arquitectura
del sistema.
Tabla 2: Integración de componentes
Para mayor detalle de la integración entre los componentes ver Anexo 7 Integración de he-
rramientas.
VI – DESARROLLO DE LA SOLUCIÓN
Para el desarrollo de la aplicación se tuvo en cuenta dos puntos de vista, uno de ellos corres -
pondió al algoritmo para el procesamiento de imágenes, mientras que el otro tuvo que ver
con el desarrollo de la interfaz gráfica, la interacción y visualización de los datos.
1. Desarrollo del algoritmo
El algoritmo que se realizó consistió en el procesamiento de una imagen de entrada en for -
mato DICOM, con el fin de generar una imagen binaria que contenía regiones u objetos can -
didatos a ser nódulos, además tenía como fin la obtención de imágenes para generar mode-
los en tres dimensiones de las estructuras principales del pulmón, pudiendo observar tam -
bién las regiones candidatas y su ubicación en el espacio. A continuación se muestra el algo -
ritmo que se desarrolló para lograr dicho objetivo.
Página 38
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Figura 20: Algoritmo para detección de candidatos.
Página 39
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
1. Obtención de la imagen de entrada
La imagen de entrada corresponde a una imagen DICOM de TAC de tórax, preferiblemente
de un paciente que tenga nódulos pulmonares. Para este proyecto fue necesario conseguir
una base de datos de imágenes de este tipo, que además tuviera nódulos pulmonares y que
cumplieran con las características que se deseaban encontrar con el algoritmo. La descarga
de las imágenes se realizó desde la base de datos pública de imágenes de pulmones de
ELCAP (Early Lung Cancer Action Program) [57], la cual consiste en un conjunto de imágenes
documentada con la ubicación, y en ocasiones con comentarios, de nódulos detectados por
un radiólogo especialista. Las tomografías computarizadas fueron obtenidas con un solo
respiro mantenido del paciente, con un grosor entre cortes de 1.25 mm[57].
2. Filtro mediana
Las imágenes generalmente tienen ruido impulsivo o artefactos adquiridos por variables
debidas a la física (endurecimiento del haz de rayos, volumen parcial, escases de fotones,
muestreo insuficiente), al paciente (movimientos del paciente, objetos externos al cuerpo),
al equipo (artefactos en anillo) y a los escáneres o tomógrafos que se utilizan para la adquisi-
ción de la imagen (fallo en hardware o software, fallo en la comunicación del equipo de to-
mografía con el computador) [58], que deben eliminarse o por lo menos atenuarse, con el
fin de realizar la segmentación del área de interés de forma correcta. Al analizar las anterio-
res variables, se decidió utilizar un filtro mediana, que tiene como objetivo suavizar la ima-
gen, reduciendo el ruido de sal y pimienta, sin afectar los bordes de la imagen y por lo tanto
no realiza cambios notorios en las estructuras básicas (intensidades de niveles de gris) que
se quieren identificar. El radio que es una entrada del filtro, corresponde al tamaño del ker -
nel que se utiliza para realizar el procedimiento [29], y es una variable que debe ser seleccio-
nada por el usuario del sistema, teniendo en cuenta que entre más grande sea el radio, ma-
yor tiempo tardará el filtro en ejecutarse y en obtener un resultado.
Página 40
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
3. Obtención de la máscara de los pulmones
Con la imagen ya filtrada y sin ruido, se realiza un procedimiento de crecimiento de regiones
con dos semillas (una para cada uno de los pulmones), que son básicamente dos voxeles con
coordenadas x, y, z. El crecimiento de regiones busca, a partir de esa semilla, vecinos con
características de intensidad de gris que estén dentro del rango que es seleccionado [29], el
cual es elegido teniendo en cuenta los valores de unidades Hounsfield nominales del tejido
del pulmón que están aproximadamente en -700 HU y del aire que es de -1000 HU [59].
También se tiene en cuenta los valores de la imagen con la que se está trabajando, obser-
vando los valores de gris dentro de los pulmones y seleccionando el mínimo y el máximo
aproximado, para el caso de las imágenes trabajadas se obtuvo un rango entre [-2000, -500]
aproximadamente. Después de tener la imagen binaria, se aplica una operación morfológica
de cierre, con aproximadamente unos 2.4 mm de radio del kernel, para incluir pequeños
vasos que se encuentran dentro de los pulmones y también para eliminar “huecos” obteni-
dos durante la segmentación [26]. El anterior procedimiento fue realizado en base al méto-
do de segmentación de pulmones descrito por Bouma en su algoritmo [41]. Finalmente,
teniendo en cuenta que se necesita el contorno de los pulmones para realizar un modelo en
tres dimensiones de esta estructura, y además se necesita para eliminar el ruido de la ima -
gen final de candidatos, con la imagen segmentada (binaria), se obtiene el contorno de los
pulmones mediante la selección de los voxeles que están en la frontera, donde se produce
un cambio repentino de un valor alto (255) a un valor bajo (0) [33]. Dicho procedimiento se
realizó después de analizar la definición de contornos de una imagen, y notar que es óptimo
para este caso en donde se tiene una imagen binaria.
4. Obtención de la máscara del mediastino
Teniendo la máscara de los pulmones, se hace una operación sencilla fila por fila en todos
los cortes, seleccionando todos los voxeles que se encuentren entre los dos pulmones seg -
mentados, dicha región corresponde al mediastino. Al igual que con la segmentación de los
pulmones, se hace una operación morfológica de apertura con el fin de obtener una seg-
mentación suave y de eliminar regiones o abrir huecos que puedan pertenecer a los pulmo-
Página 41
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
nes [26]. Tanto el procedimiento de obtención del mediastino como de suavizado de la seg-
mentación, se realizó de acuerdo al procedimiento descrito por Bouma [41]. También se
realiza un procedimiento de umbralización con el fin de quitar estructuras de huesos como
la columna vertebral y las costillas, para ello se escogió un umbral con intervalo entre 150
HU hasta el máximo valor dado por la imagen (seleccionado al observar los valores de inten-
sidad de los voxeles que se desean eliminar y escogiendo un valor mínimo aproximado),
teniendo en cuenta que los huesos tienen un valor de 1000 HU [59]. El procedimiento final
es utilizar un etiquetado de regiones, con el fin de eliminar aquellas regiones que posean un
volumen muy inferior comparado con la región de mayor volumen que corresponde al me -
diastino, este procedimiento además elimina regiones separadas que surgen luego del pro-
cedimiento de umbralización. Tanto el procedimiento que tiene como objetivo eliminar las
estructuras correspondientes a huesos, así como la eliminación de las pequeñas regiones, se
realizó en base al análisis que estas estructuras eliminadas no poseían ninguna información
para el algoritmo.
5. Obtención de árbol vascular y regiones con forma tubular
El primer procedimiento que se realiza en este paso del algoritmo, consiste en reducir el
volumen sobre el cual se realizará el algoritmo, para ello se obtiene una imagen de interés
binaria que no es más que la unión (operación lógica OR) entre la imagen segmentada de los
pulmones y la imagen segmentada del mediastino. Con el fin de eliminar huecos o espacios
que hayan quedado después de la unión de las imágenes, se utiliza una operación morfoló -
gica de cierre [26], y finalmente se obtiene el nuevo volumen de interés, que corresponde a
la creación de una nueva imagen con todos los voxeles de la imagen de entrada, que tengan
un valor de 1 lógico en la imagen de interés binaria. Dicho procedimiento se realizó en base
al análisis hecho, teniendo en cuenta la región o lugar donde deben aparecer estructuras
con forma tubular o esférica.
La segmentación del árbol vascular y bronquial es un elemento que es utilizado en el algorit -
mo de Bouma [41] y además tiene su respectiva implementación, sin embargo se utilizó un
Página 42
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
procedimiento alternativo basado en el algoritmo de Sato [38], con el cual se obtiene el
mismo resultado y es implementado de forma más sencilla.
Teniendo la nueva imagen en escala de grises, usando la región de interés, se realiza un
algoritmo que realza las estructuras tubulares. Para ello, se obtiene primero la matriz Hes-
siana que es principalmente una matriz de segundas derivadas en cada voxel y que repre-
senta variaciones de intensidad local de segundo orden. Luego se obtienen los valores pro-
pios de dicha matriz en cada voxel, ordenados ascendentemente por su magnitud
(|λ1|<|λ2|<|λ3|), con el fin de mantener los voxeles tal que λ1≈ 0 , λ2 ≈ λ3 ≪0, garantizando
las condiciones de estructuras tubulares brillantes [38]. Para el uso de este algoritmo son
necesarios tres coeficientes como parámetros de entrada, cuyos valores definirán la forma
en cómo se desarrolla el algoritmo, de forma que las estructuras curvilíneas que están frag-
mentadas queden de forma continua. Esos parámetros corresponden a α 1 y α 2, donde
α 1<α2 y que fueron elegidos basándose en las pruebas realizadas por Sato [38], donde los
valores finales corresponden a α 1=0.5 y α2=2.0. Otro coeficiente importante, y que se
deja a elección del usuario debido a que las imágenes de TAC son diferentes entre sí, es el
valor de sigma que determina la cantidad de suavizado aplicado durante la estimación de la
Hessiana, de esta forma un sigma con valor alto, disminuirá la identificación de ruido para
estructuras de vasos pequeñas, mientras que un valor bajo por el contrario, incrementa la
identificación del ruido. Tomando como base los experimentos realizados por el autor del
algoritmo, y especialmente el ejemplo realizado para segmentación de bronquios en tomo-
grafía computarizada se deja la elección de sigma con valores entre
σ={1.5 ,2.0 , 2.5 ,3.0 , 3.5 , 4.0 } [38].
La salida del anterior algoritmo es una imagen en escala de grises, donde las estructuras
tubulares se muestran en gris, aumentando su intensidad hacia el centro de las mismas,
mientras las demás estructuras aparecen con un valor de 0, posibilitando la segmentación
de esta imagen.
Página 43
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
Como procedimiento final de este paso, se realiza una nueva región de interés, denominada
región de búsqueda, que es donde se realizaran los procedimientos para encontrar las regio -
nes candidatas a ser nódulos, para ello, primero se hace una imagen binaria que será usada
como máscara, la cual corresponde a una operación aritmética de sustracción entre la ima-
gen segmentada de los pulmones y la imagen segmentada de los vasos, dando como resul -
tado la región dentro de los pulmones que no son vasos. Este último procedimiento se reali-
za teniendo en mente el siguiente paso del algoritmo, con el fin de reducir el volumen que
debe ser procesado.
6. Obtención del volumen de candidatos
La obtención de la región de candidatos es la selección de regiones o volúmenes cuyas ca -
racterísticas específicas pueden coincidir con las características de los nódulos pulmonares.
Las características usadas para la obtención de candidatos son la intensidad de niveles de
gris, el contraste local y la forma geométrica, para ello se usaron tres métodos diferentes,
que primero obtienen una imagen en escala de gris para después realizar una segmentación
por umbralización, cuyas salidas en conjunto formarán la imagen binaria con las regiones
candidatas. Esos métodos incluyen el uso de la escala Hounsfield, el análisis de vectores
propios y el análisis de contraste local, los cuales se realizaron en base al algoritmo propues-
to por Bouma [41] , sin embargo la elección de los umbrales se dejaron a elección del usua-
rio, teniendo en cuenta que el sistema es semiautomático y además que las imágenes de
tomografía computarizada pueden poseer diferentes características de intensidad.
Análisis por intensidades de escala Hounsfield
El primer método consiste en usar directamente la imagen en escala de grises (unidades
Hounsfield) teniendo en cuenta que dentro de los pulmones, en una TAC, los nódulos son
más brillantes que el aire y los pulmones. Inicialmente, para obtener la imagen en escala de
gris simplemente se enmascara la imagen de entrada con la imagen binaria del área de bús-
queda, es decir que se obtiene una imagen en escala de grises solamente de los pulmones
sin el árbol vascular. Para buscar el umbral que se debe usar, es importante saber que los
valores de atenuación son usualmente más altos para nódulos benignos que para los malig -
Página 44
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
nos, en el caso del estudio realizado por Ost [60], se encontró un umbral de 264 HU, sin
embargo en otros estudios se usa convencionalmente 185 HU produciendo una tasa de fal-
sos negativos mayor. Lo anterior es una variable que depende de la imagen de entrada, así
como del escáner que se usó para obtenerlas, por tal motivo en la aplicación se permite que
sea el usuario quien elija este umbral.
Análisis por valores propios
Según lo descrito por Bouma [41], manchas o puntos oscuros pueden ser detectados con un
valor propio λ1 positivo de la matriz Hessiana. Para encontrar esta imagen, inicialmente se
realiza la matriz Hessiana de la imagen en escala de gris de la región de búsqueda, con el fin
de obtener los valores propios de cada voxel, los cuales son organizados por magnitud de
forma decreciente tal que (|λ1|>|λ2|>|λ3|), y se usa un valor de σ=0.9mm ya que es la esca-
la más baja para hacer derivadas fiables. A continuación se crea una nueva imagen en escala
de grises donde el valor de cada voxel está definido por el coeficiente del valor propio λ1
que toma valores de acuerdo a la siguiente ecuación:
C λ1={ λ1,∧λ1>0λ3 ,∧λ1≤ 0 y λ2>0 y λ3>00 ,∧Cualquier otrocaso
Ecuación 8: Valor de coeficiente λ1 para ser usado en una nueva imagen
Una vez obtenida la matriz con los coeficientes de λ1, se procede a re-escalar cada uno de
los valores de los voxeles, con el fin de crear una nueva imagen con representación de gris
de 1 byte (valores de 0 a 255) mediante la siguiente ecuación:
V out=(V ¿−I min)∗Omax−Omin
I max−I min+Omin
Ecuación 9: Mapeo de intensidad de valores para re-escalar los valores de intensidad de una imagen
Página 45
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
Donde V out es el valor de intensidad del voxel de salida, V ¿ es el valor de intensidad del
voxel de entrada, Imin es el mínimo valor de intensidad presente en la imagen de entrada,
I max es el máximo valor de intensidad presente en la imagen de entrada, Omin es el valor de
intensidad mínimo de la imagen de salida (0) y Omax es el valor de intensidad máximo de la
imagen de salida (255) [61].
Finalmente se escoge un valor de umbral para realizar la segmentación, el cual se elige ob-
servando la imagen obtenida luego del re-escalamiento, y seleccionando un valor que se
encuentre dentro de las estructuras oscuras en forma de puntos, ya que precisamente la
imagen realza esas zonas.
Análisis de contraste local usando Top-hat
El análisis de contraste local se usa con el fin de realzar las transiciones que pueden produ-
cirse de una estructura brillante como un vaso o el pulmón, a una oscura como el nódulo.
Para hacer este proceso se hace primero una operación de erosión en escala de grises de 4
mm, seguida de una dilatación en escala de grises de 6 mm de acuerdo al algoritmo realiza -
do por Bouma [41]. Lo anterior en conjunto, es una operación de apertura, que tiene como
objetivo remover las estructuras brillantes más pequeñas que el kernel que se utilizó, final-
mente, se realizó la operación de Top-hat, la cual se obtiene restando a la imagen en escala
de grises, la imagen obtenida luego del procedimiento de apertura [35].
Como paso final se realiza la segmentación por umbralización, con un umbral seleccionado
por el usuario de acuerdo a la imagen de salida, eligiendo un valor mínimo de gris aproxima -
do donde aparecen estructuras realzadas que puedan ser nódulos.
7. Obtención del volumen de imagen de candidatos
A partir de las tres imágenes obtenidas durante el procedimiento anterior, se procede a
obtener la imagen binaria de candidatos, que es básicamente la intersección u operación
lógica AND de las tres imágenes, según lo propuesto por Bouma [41]. Como procedimiento
adicional, y debido a que en las segmentaciones aparecen estructuras del borde del pulmón
Página 46
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
que pueden considerarse como ruido, se realiza una sustracción (resta aritmética) entre la
imagen de intersección y el borde de los pulmones con un ancho de 2 voxeles, obtenido
mediante un mapa de distancias de la imagen segmentada de los pulmones. Este último
procedimiento se basó en el análisis realizado al obtener las tres imágenes umbralizadas de
candidatos y notar la gran cantidad de regiones que aparecían en la periferia del pulmón.
2. Desarrollo de la interfaz gráfica
Para el desarrollo de la interfaz gráfica, se tuvo en cuenta los casos de uso descritos en la
sección de análisis, ya que cada caso de uso corresponde a una acción o petición que el
usuario puede realizar al sistema. Inicialmente se realizó un grafo de navegabilidad para
tener claridad en la creación de la interfaz y las diferentes ventanas (para ver más detalles
acerca de la implementación Ver anexo Manual de Administración).
Figura 21: Grafo de navegabilidad
Las funciones que provee el sistema se ven reflejadas en la barra de herramientas o el me-
nú, por ello la primera actividad fue la creación de ellos (para ver más información sobre
funciones del sistema Ver anexo Manual de Usuario).
Página 47
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
Figura 22: Barra de herramientas de la interfaz gráfica de la aplicación
Para la creación de la barra de herramientas fue necesario buscar y crear íconos que por sí
solos indiquen la función que cumple cada uno, sin necesidad de textos o ayudas. Cada clic o
acción de selección sobre un icono, abre una nueva ventana o abre un nuevo panel dentro
de la ventana principal. Al iniciar la aplicación solamente la opción de “abrir” está activa, y
las demás opciones se irán habilitando cada vez que se tengan los datos necesarios para
usar la herramienta, por ejemplo la herramienta de volumetría solo se habilita al terminar el
algoritmo, mientras que la de modelo en 3D se habilita al momento de segmentar los pul-
mones.
1. Ventana principal
Figura 23: Ventana principal de la interfaz gráfica
La ventana principal consta de la barra de herramientas y de la combinación de una serie de
paneles (widgets) generados a partir de una forma (Form) de QT. La aplicación inicia con el
panel de 4 vistas activo y visible, mientras que los demás paneles están ocultos.
Página 48
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
2. Forma de 4 vistas
Figura 24: Diseño del panel de 4 vistas
Esta forma (Form) corresponde a un panel (widget) de la ventana principal, en él se agrega -
ron 3 recuadros iguales con el fin de colocar en cada uno una vista, ya sea sagital, coronal o
transversal. Cada uno de esos recuadros está compuesto por un qvtkwidget [62] donde se
mostrará la imagen y un control de selección de corte (slice), compuesto por una barra desli -
zadora y un spinbox (para un control preciso), los cuales están conectados por medio de una
función de QT “signals and slots” [63], lo cual, hace que un cambio en uno de ellos se vea
reflejado en el otro. El último panel corresponde a la vista de volumen, que no es más que la
combinación de los tres planos antes mencionados. Dado que este último muestra los cam-
bios en el corte de cualquiera de las tres vistas, no se implementó en este recuadro el con -
trol de selección de corte, sino que se colocó un botón el cual deja los cortes de las tres vis-
tas por defecto (corte central en todas las vistas).
Página 49
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
2.1. Visualización de vistas coronal, sagital, transversal
Figura 25: Selección de vista transversal en interfaz gráfica
Al seleccionar cualquiera de las 3 opciones para ver las vistas, el icono presionado se torna
seleccionado para indicarle al usuario en cual opción se encuentra actualmente. Los paneles
de las otras tres vistas (incluyendo el volumen), se ocultan, mientras que la vista selecciona -
da se hace visible. Si no hay ningún otro panel activo, se puede visualizar la vista en toda la
ventana.
Página 50
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
2.2. Visualización de vista del volumen
Figura 26: Vista de volumen
Al seleccionar la opción de vista de volumen, el icono presionado se torna seleccionado (co -
lor de fondo oscuro resaltando el ícono) para indicarle al usuario en cual opción se encuen-
tra actualmente. Los paneles de las otras tres vistas, se ocultan, mientras que la vista selec -
cionada se hace visible. Si no hay ningún otro panel activo, se puede visualizar la vista en
toda la ventana.
3. Ventana de histograma
Figura 27: Diseño de la forma de histograma
Dado que para realizar el histograma únicamente se requiere de la imagen de entrada, la
opción de histograma genera una nueva ventana de tipo modal (la ventana padre queda
Página 51
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
bloqueada hasta que la ventana hija se cierre) y se obtienen los datos del histograma del
coordinador únicamente al momento de su creación. Esta forma está compuesta por un
grupo de “radio buttons” para seleccionar la forma de visualización, dos controles de selec -
ción de límites y un botón para salir o cerrar la ventana. Los dos controles de límites mínimo
y máximo, se implementan igual que los controles de selección de corte en el panel de 4
vistas. Para evitar que el usuario ingrese un valor incorrecto que se salga de los límites del
histograma, se limita el control de mínimo en un intervalo de [valor de intensidad mínimo,
valor de intensidad máximo -1], mientras que el control de valor máximo se limita en un
intervalo de [valor de intensidad mínimo +1, valor de intensidad máximo]. Por otra parte se
agrega una opción de selección “Yes”, “No” para usar o no una máscara para ver el histogra -
ma, si la opción “Yes” es seleccionada se despliega una lista de las máscaras disponibles que
se obtienen a partir del algoritmo.
4. Forma de algoritmo
Figura 28: Diseño de la forma de algoritmo
Como el algoritmo constantemente cambia la ventana principal para mostrar los resultados
de cada paso, se necesita que esta forma se comporte como panel (widget). Cuando la op-
Página 52
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
ción de algoritmo es seleccionada, se habilita y se hace visible un panel como el mostrado
en la imagen anterior en la mitad izquierda de la ventana principal, mientras que en la mitad
derecha se muestra el panel de 4 vistas.
El panel de algoritmo fue diseñado en dos partes, la parte superior corresponde a la selec-
ción de las imágenes que se han obtenido con la ejecución del algoritmo, mientras que la
parte de abajo corresponde a la ejecución paso a paso del algoritmo. Tanto la resolución del
algoritmo como la lista de imágenes para mostrar es extensa, en ambos casos se usó un
“scroll area”, que permite realizar la acción de “scroll” sobre los datos.
Al iniciar el panel de algoritmo, todos los botones y controles estarán deshabilitados, excep-
to el botón de ver imagen de entrada y la opción de realizar la mediana que corresponde al
primer paso del algoritmo. Cada vez que se desarrolle un paso del algoritmo, se habilita el
siguiente paso y además se habilita la opción de ver la imagen que se obtiene.
Esta vista tiene comunicación tanto con el coordinador como con la ventana principal. Cada
vez que se realiza un paso del algoritmo, ésta se comunica con el coordinador para pedir la
salida del paso que se está realizando y se comunica con la ventana principal para la visuali -
zación de la imagen obtenida o seleccionada.
Página 53
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
5. Forma de datos
Figura 29: Diseño de la forma de datos
Al igual que con la forma de algoritmo, esta forma corresponde a un panel (widget) de la
ventana principal. El diseño es simple y solo tiene “labels” en los cuales se escribe la infor-
mación del paciente y de la imagen DICOM leída, datos que son obtenidos a través del coor -
dinador y del encabezado de la imagen.
6. Forma de volumetría
Figura 30: Diseño de la forma de la herramienta de volumetría
Página 54
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Esta forma se habilita únicamente cuando el algoritmo se realiza en su totalidad. Al seleccio-
nar la herramienta de volumetría se habilita este panel, partiendo la ventana principal en
dos partes, a la izquierda se muestra la forma mostrada en la anterior imagen, mientras que
a la derecha se muestra la vista de volumen de la imagen de candidatos.
Esta forma contiene un control de selección de región candidata (similar al implementado
en el panel de 4 vistas), además de dos botones, uno para seleccionar la región anterior y
otro para ver la región siguiente. Se muestra además las coordenadas espaciales donde se
encuentra uno de los voxeles de la región seleccionada. Lo anterior se realiza mediante el
uso del algoritmo de etiquetado de regiones de la imagen final obtenida por el algoritmo,
con el cual es posible obtener el volumen y las coordenadas espaciales de cada voxel dentro
de la región candidata, además de otros.
6.1 Localización de región candidata en 2D.
Mediante la opción de localización en 2D, se crea una imagen de una esfera, con un radio
especifico en la coordenada indicada en el panel de volumetría, y se realiza una función
lógica OR para unir esta imagen con una copia de las regiones candidatas. El resultado es
una nueva imagen de regiones candidatas con la región seleccionada, rodeada por una esfe -
ra, que vista en un corte de dos dimensiones se ve como un círculo.
Figura 31: Localización de región candidata en 2D
Página 55
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
6.2 Localización de región candidata en 3D.
Se realiza el mismo procedimiento que la localización en 2D para obtener una imagen y se
combina con la segmentación de vasos. Luego se realiza un algoritmo de Marching Cubes
sobre la imagen obtenida, con el fin de obtener un modelo tridimensional que será mostra -
do en una nueva ventana de VTK.
Figura 32: Localización de región candidata en 3D
7. Ventana de modelo en 3D
Figura 33: Diseño de la ventana de la herramienta de modelo 3D
Página 56
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
La opción de herramienta de modelo 3D se habilita después de realizada la segmentación de
pulmones, sin embargo las opciones de “vessels” y “segmentation” solo serán habilitadas
cuando se obtengan las imágenes correspondientes. En esta ventana hay un qvtkwidget y 3
recuadros que tienen una caja de selección, y un control para seleccionar la opacidad de
cada elemento que se quiere visualizar. Al seleccionar 2 o tres de los modelos, se hace una
unión de las imágenes correspondientes para realizar el algoritmo de marching cubes y mos-
trar el resultado en la ventana.
Figura 34: Modelo en tres dimensiones del pulmón y los vasos y árbol bronquial.
VII – RESULTADOS
Teniendo en cuenta las pruebas descritas en la fase de análisis, se desarrollaron las siguien-
tes pruebas, las cuales incluyen sus respectivos resultados:
1. Pruebas del sistema
Dentro de las pruebas de diseño, se realizaron pruebas de integración, las cuales tenían
como objetivo encontrar defectos del sistema y además hallar la fuente de los posibles pro -
Página 57
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
blemas encontrados. La integración del sistema en su totalidad, implicó identificar grupos de
componentes que proporcionan alguna funcionalidad del sistema e integrar éstos añadien-
do código para hacer que funcionen conjuntamente. Se tuvo en cuenta la integración des-
cendente ya que primero se hizo un seudocódigo (esqueleto) que cumplía con el objetivo
del proyecto en su totalidad, y luego se fueron añadiendo los componentes después de cada
prueba. También se tuvo en cuenta la integración ascendente, ya que primero se integraron
componentes funcionales como todos los filtros básicos y funciones útiles, y finalmente se
realizaron pruebas de regresión, que implican probar de nuevo todos los componentes cada
vez que se agrega un nuevo elemento al sistema [14] . Para la realización de estas pruebas
fue necesario desarrollar código adicional que no se encuentra dentro del código fuente de
la aplicación entregada.
Esta prueba fue realizada por el desarrollador mientras se llevaba a cabo el proyecto, ya que
cada vez que se creaba una nueva función o componente, éste debía ser probado, verifican -
do cualquier tipo de error individual o error al momento de la integración con componentes
o funciones ya creadas, y en caso de presentar errores o fallas no era posible continuar con
el algoritmo, ya que éste tiene una estructura similar a la arquitectura en cascada. Inicial -
mente se crearon los componentes del modelo (Ver anexo SDD), y a medida que se necesi-
taban filtros o funciones básicas, éstas se iban agregando a la respectiva clase. También se
creó un algoritmo base (esqueleto) el cual está descrito en la sección “Desarrollo de la apli -
cación” y finalmente cada vez que se avanzaba en el algoritmo se iba desarrollando código
fuente adicional (Ver anexo 4).
En el código fuente se le dio un identificador a cada paso del algoritmo es decir a cada salida
que debía producir, incluyendo subprocesos, y para cada uno de ellos se guardó su salida
dentro de una carpeta con el identificador dado. La prueba finalmente consistió únicamente
en observar la salida y verificar que ésta fuera correcta y tuviera los resultados esperados. A
continuación se muestra una tabla que indica el identificador de cada imagen, la salida obte-
nida y una descripción de la misma.
Identificador Imagen Descripción
Página 58
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
00_ImageInImagen en escala de grises
con valores de HU.
01_Median
Imagen mediana con radio
de 5 voxeles, que elimina el
ruido de sal y pimienta, la
imagen quedó más suave.
02.1_Lungs
Imagen de la segmentación
de los pulmones, realizando
un crecimiento de regiones
en cada pulmón. Efectiva-
mente se observa una ima-
gen binaria con un valor de
1 lógico en el área del pul-
món.
02.2_LungsClosing
En este ejemplo poco se
nota el resultado del cierre,
ya que la imagen obtenida
en el anterior paso es com-
pacta y no tiene huecos
para cerrar. Solo se ve el
cierre hacia la mitad de la
imagen en una región que
aparece casi separada del
pulmón.
Página 59
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
03.1_Mediastinum
La imagen muestra la seg-
mentación del mediastino
sin la región de la columna
vertebral.
03.2_MediastinumOpen-ing
Al hacer la apertura se
abren regiones que tengan
huecos. Luego se hace un
etiquetado de regiones
para eliminar regiones pe-
queñas.
05.0_InterestRegion
La región de interés para
realizar el algoritmo de Ve-
sselness corresponde a la
unión de la segmentación
de los pulmones y del me-
diastino.
05.4_MaskedLung
La imagen enmascarada
corresponde a la imagen
original, tomando como
válidos únicamente los
voxeles de la imagen de
región de interés.
05.5_VesselsGray La salida del algoritmo de
realce de vasos (Vessel-
ness), da como resultado el
árbol bronquial y estructu-
ras tubulares en escala de
gris dentro del área de inte-
Página 60
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
rés.
05.6_VesselSegmentation
La segmentación del árbol
bronquial es simplemente
una umbralización de la
imagen obtenida en escala
de grises.
05.7_InterestRegion2
La región donde se busca-
rán nódulos candidatos
corresponde a la región
dentro de los pulmones
excluyendo el árbol bron-
quial.
06.1_LocalContrastImagen luego de realizada
la operación de apertura.
06.2_LocalContrastDiff
La imagen de contraste
local corresponde a la sali-
da de un top-hat, por tanto
resalta los puntos que son
claros y a su alrededor hay
regiones oscuras. Las regio-
nes más blancas cumplen
con esa característica.
06.3_ThresholdLocal-Contrast
Imagen luego de segmentar
con un umbral definido.
Aparecen regiones que son
Página 61
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
blancas rodeadas por una
región más oscura.
07.1_EigenValueLambda1
Imagen de valores propios
modificada, donde se real-
zan estructuras tubulares o
esféricas oscuras.
07.2_ThresholdEigenValue
Segmentación de las regio-
nes que aparecen como
puntos negros en la imagen
de criterio de Lambda 1.
08.1_MaskedLungVesselImagen en escala de gris
del área de búsqueda.
08.2_ThresholdIntensity
Segmentación por umbrali-
zación de la imagen de
intensidad. Efectivamente
hay una segmentación que
contiene las regiones que
se encuentran dentro del
umbral seleccionado.
Página 62
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
09.1_UnionThreshold
Región de candidatos que
corresponde a la intersec-
ción de las imágenes obte-
nidas por la segmentación
por umbralización. Contie-
ne las regiones candidatas
a nódulos que son verifica-
das en la prueba de entre-
ga.
09.2_UnionEdges
Región de candidatos elimi-
nando el borde. Se puede
observar que desaparecen
algunas regiones que se
encuentran sobre el borde.
10.0_EdgeLungsBorde o contorno del pul-
món claramente definido.
10.1_EdgesDilated
Al hacer una dilatación de
la imagen de bordes, se
obtiene un borde más grue-
so dependiendo del radio
del elemento estructura-
dor.
Página 63
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
2. Pruebas de entrega
El desarrollo de esta prueba quizás fue la más importante, ya que con ella se busca garanti-
zar que el algoritmo efectivamente encuentre regiones candidatas a nódulos pulmonares.
Para estas pruebas se trató el sistema como una caja negra. Simplemente se ingresó una
entrada correspondiente a una imagen de tomografía computarizada, se realizó el algoritmo
hasta obtener una imagen que contenía regiones candidatas a nódulos pulmonares. Para
comprobar que dentro de ésta salida, están segmentadas regiones que contienen nódulos
pulmonares, se realizó el siguiente procedimiento:
- Cada una de las imágenes de tomografía computarizada que se obtuvo de la base
de datos pública de ELCAP [57], contiene los nódulos pulmonares etiquetados por
varios expertos radiólogos, muchos de ellos con comentarios, por tanto es posible
obtener las coordenadas exactas de donde se encuentra cada nódulo. Estas imáge-
nes corresponden a los datos de entrada del algoritmo.
Figura 35: Imagen de TAC con nódulos etiquetados [57]
Página 64
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
- La idea fundamental de la prueba es: comparar las coordenadas donde se encuen-
tran cada uno de los nódulos que están en la imagen etiquetada, con esas mismas
coordenadas en la imagen de regiones candidatas obtenida con el algoritmo, y veri-
ficar si están dentro de las regiones segmentadas.
- Si las coordenadas están dentro de alguna de las regiones segmentadas en la ima-
gen obtenida con el algoritmo, se selecciona dicho nódulo como un caso exitoso, de
lo contrario se contará como un falso negativo (nódulos que fueron diagnosticados
como positivos (imagen etiquetada), pero que no fueron detectados en la imagen
de salida).
- Se utilizaron los siguientes valores para las variables del sistema. En la siguiente
tabla se observa la variable, su correspondiente valor y un comentario donde se
justifica el por qué se utilizó dicho valor.
Variable Valor Comentario
Radio de mediana 5
Después de realizar pruebas con radio 1,
3, 5, 7, se llegó a la conclusión que el que
mostraba mejor resultados en el menor
tiempo era el radio 5.
TamPixel Variable
Valor correspondiente al tamaño en
milímetros de cada pixel, que puede ser
diferente para cada imagen y está deter-
minado por el encabezado de la imagen
en formato DICOM.
Radio de cierre de
pulmones.
2.4/TamPixel
(2.4mm)
Valor dado por el algoritmo de Bouma
[41].
Umbral para eliminar
columna en medias-
tino.
[150 , Máximo
valor de intensi-
dad en la ima-
gen]
Valores Hounsfield en el que se encuen-
tra el hueso.
Radio de apertura de 6.0/TamPixel Valor dado por el algoritmo de Bouma
Página 65
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
mediastino. (6.0mm) [41].
Sigma para procedi-
miento de realce de
estructuras tubula-
res.
2.0
Valor seleccionado entre el conjunto
{1.5, 2.0, 2.5, 3.0, 3.5, 4.0} el cual daba el
mejor resultado para realce de estructu-
ras tubulares.
Valor de α 1 y α 2 para
el procedimiento de
realce de estructuras
tubulares.
α 1= 0.5 , α 2=2.0Valores dados en el algoritmo de Sato
[38].
Intervalo de umbral
de imagen de candi-
datos (intensidad)
[-650 , Máximo
valor de intensi-
dad en la ima-
gen]
Valor dado al analizar los valores entre
los cuales pueden estar los nódulos en la
imagen de unidades Hounsfield.
Sigma para procedi-
miento de imagen de
candidatos (valores
propios).
0.9Valor dado en el algoritmo de Bouma
[41] .
Intervalo de umbral
de imagen de candi-
datos (valores pro-
pios)
[Mínimo valor de
intensidad en la
imagen, 10]
Valor dado al observar los puntos negros
en la imagen.
Radio de dilatación y
radio de erosión para
procedimiento de bo-
that.
Rerosion = 4.0/
TamPixel, Rdila-
tacion = 6.0/
TamPixel
Valores máximos de radios usados, te-
niendo en cuenta un tiempo razonable
de ejecución del algoritmo.
Página 66
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Intervalo de umbral
de imagen de candi-
datos (contraste lo-
cal)
[400, Máximo
valor de intensi-
dad en la ima-
gen]
Valor dado al analizar la intensidad de
las regiones con realce donde que po-
drían ser nódulos.
Tabla 3: Valores de variables utilizadas en el algoritmo
- Los resultados obtenidos de las pruebas realizadas (Ver anexo 5) son:
Se realizaron pruebas en 12 imágenes de TAC y se encontraron los siguientes
resultados:
TAC
Nódulos en imagen etique-
tadaNódulos en ima-
gen obtenida Falsos negativos
Porcenta-je de
acierto
3 7 4 3 57,1
4 23 14 9 60,9
6 9 5 4 55,6
7 2 1 1 50,0
8 6 5 1 83,3
9 8 6 2 75,0
10 7 5 2 71,4
11 9 6 3 66,7
12 19 14 5 73,7
13 11 10 1 90,9
15 11 5 6 45,5
18 4 2 2 50,0
Página 67
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
Total 116 77 39 66,4
Tabla 4: Resultados de las pruebas de entrega
Se puede concluir que:
o Se presentaron 39 falsos negativos que equivalen a un 33,6 % del total.
o En total, un 66.4% de los nódulos fue encontrado.
o Los falsos negativos corresponden en general a nódulos de gran tamaño,
calcificados o que están muy alejados de las paredes pulmonares o del me-
diastino, esto puede deberse al tamaño del kernel utilizado en el filtro del
procedimiento de contraste local, que se usó como criterio para encontrar
los candidatos, ya que dicho valor representaba el tamaño máximo de las
estructuras que se querían encontrar.
o El algoritmo propuesto se comporta bien ante nódulos pequeños.
Por otra parte, se realizó un análisis de falsos positivos, es decir, las regiones
candidatas de la imagen de salida que no corresponden a un nódulo en la ima-
gen de entrada. Para ello, se tomó el dato del número de regiones encontradas
en cada uno de las imágenes obtenidas por el algoritmo (las cuales correspon-
den a un posible nódulo) y se compararon con el número de nódulos etiqueta-
dos en las imágenes de entrada. Se encontraron los siguientes resultados:
TAC
Cantidad de regiones candidatas encontradas en la imagen obtenida
por el algoritmo
Cantidad de nódulos eti-quetados en la imagen de
entrada
Cantidad de falsos positi-
vos3 10317 7 103104 49981 23 499586 31991 9 319827 68801 2 687998 169732 6 1697269 79270 8 79262
10 14997 7 1499011 37705 9 37696
Página 68
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
12 16005 19 1598613 35702 11 3569115 24550 11 2453918 9875 4 9871
Total 548926 116 548810
Tabla 5: Resultados de falsos positivos en las pruebas de entrega
Se puede concluir que:
o Se puede observar que la cantidad de falsos positivos es muy grande, lo cual
puede deberse a que hace falta un procedimiento de clasificación, para
encontrar regiones que pertenezcan a un conjunto, con una serie de carac-
terísticas correspondientes a los nódulos pulmonares.
o Igualmente se puede observar que dadas las características de intensidad de
la imagen de entrada (como el ruido o el cambio de intensidades de forma
abrupta), durante la obtención de la umbralización de la primera imagen de
candidatos, se obtiene una gran cantidad de regiones, muchas de las cuales
están separadas y corresponden a la misma estructura.
o Durante los tres procedimientos de obtención de imágenes candidatas, se
observó que en los tres casos aparece el borde de los pulmones, el cual se
redujo al restar el contorno de los pulmones a la imagen obtenida. Dicho
contorno tenía un ancho de 1 voxel para todos los casos, excepto para el
caso del TAC 18 el cual se usó un ancho de 2 voxeles, con el fin de mostrar la
diferencia que hay entre ambos casos. Se puede notar una diferencia nota-
ble en la obtención de falsos positivos entre los resultados de la tomografía
18 y las demás, ya que entre más ancho el contorno, más se reduce el ruido,
pero hay que tener cuidado de no eliminar regiones que puedan pertenecer
a nódulos pegados a la pleura.
Página 69
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
o Finalmente se debe tener en cuenta que los umbrales seleccionados por el
usuario también determinan la cantidad de regiones que aparecerán en la
imagen final.
3. Pruebas del usabilidad
Para las pruebas de usabilidad se formularon una serie de instrucciones, que los usuarios
que iban a realizarlas debían seguir paso a paso, en donde básicamente se usaban todas las
herramientas del sistema. Finalizada la interacción con el sistema, se realizaron tres series
de preguntas relacionadas con la percepción acerca de la aplicación. La primera serie de
preguntas tenía que ver con la percepción de utilidad, la segunda presentaba unas afirma -
ciones sobre la aplicación y el usuario debía seleccionar si estaba o no de acuerdo con dichas
afirmaciones, y la tercera serie eran preguntas abiertas sobre la opinión general de los califi-
cadores hacia el sistema.
Las dos series de preguntas tenían una escala de 1 a 5, en las cuales el usuario solo debía
seleccionar una opción. Para la primera serie de preguntas 1 significaba poco útil y 5 muy
útil, mientras que para la segunda 1 significaba total desacuerdo y 5 total acuerdo. Además
de seleccionar una sola opción había un espacio para que los calificadores escribieran cual -
quier comentario que tuvieran de cada uno de los ítems.
Para el desarrollo de estas pruebas fueron seleccionados tres perfiles de usuarios que se
describen a continuación:
- Ingeniero de sistemas experto en aplicaciones con interfaz de usuario.
- Ingeniero de sistemas e investigador experto en procesamiento de imágenes médi-
cas.
- Estudiante de Doctorado en Ingeniería con experiencia en procesamiento y análisis
de imágenes médicas.
Los resultados de las pruebas realizadas por cada uno pueden verse en el Anexo 6.
Página 70
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
Al ser pruebas de tipo numéricas, es posible para las dos primeras pruebas, realizar un pro-
medio de las calificaciones dadas por cada calificador, a continuación se muestran los resul-
tados obtenidos para cada ítem, donde C1, C2 y C3 corresponden a las notas dadas por el
calificador 1, calificador 2 y calificador 3 respectivamente para cada ítem.
Percepción de utilidad
C1 C2 C3 Promedio1. ¿Es de utilidad la aplicación? 5 5 4 4,72. ¿Es útil el uso de las opciones de visualización de cada una de las 3 vistas coronal, transversal, sagital? 5 4 5 4,73. ¿Es útil el uso de la opción de visualización de la combinación de los tres planos (sagital, coronal, transversal) en una sola ima-gen? 5 5 5 5,04. ¿Es útil la visualización de datos de la imagen DICOM y de pa-ciente en el panel de "Data"? 4 3 5 4,05. ¿Es útil la ventana de histograma? 5 3 3 3,76. ¿Es útil el uso de máscaras en la visualización del histograma? 4 3 4 3,77. ¿Es útil el uso de controles para visualizar el rango de valores deseado en la ventana de histograma? 5 5 4 4,78. ¿Es útil el cambio de tipo de grafico en la venta de histograma? 5 3 4 4,09. ¿Es útil poder visualizar las imágenes que ya se han hecho en el algoritmo? 5 5 5 5,010. ¿Es útil pedir el radio de la mediana al usuario? 5 3 4 4,011. ¿Es útil recortar la imagen en el procedimiento de obtención de mediastino? 5 2 4 3,712. ¿Es útil el control para seleccionar el umbral de cada una de las imágenes para encontrar candidatos? 5 3 4 4,013. ¿Es útil la herramienta de volumetría? 5 5 5 5,014. ¿Es útil ver la localización en dos dimensiones del candidato seleccionado? 4 5 5 4,715. ¿Es útil ver el modelo en tres dimensiones donde se muestra la ubicación del candidato junto con el pulmón y el árbol vascu-lar? 5 4 5 4,716. ¿Es útil poder observar las imágenes de pulmones, árbol vas-cular y segmentación de candidatos en la herramienta "3D view"? 5 4 5 4,717. ¿Es útil poder cambiar la opacidad de cada una de las imáge-nes en la herramienta "3D View"? 5 2 5 4,0
Página 71
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
A partir de los resultados obtenidos se puede concluir lo siguiente:
- El panel de datos no es tan relevante para el proyecto, ya que muestra información
poco útil para el médico especialista.
- Si bien es cierto que el histograma es importante para el procesamiento de imáge-
nes, para la persona que va dirigido (médico radiólogo) los datos del histograma son
poco relevantes, especialmente cuando se usa una máscara. Además la opción de
visualizar los datos en forma de puntos y líneas son opciones que no se usan gene -
ralmente.
- Tanto el valor de radio de la mediana como el valor de sigma (para segmentación de
vasos), son valores que el usuario no debería escribir, sino más bien seleccionar de
una lista. Después de la prueba estas opciones se modificaron.
- La opción de recorte de mediastino con el fin de eliminar el diafragma es un proce -
dimiento que es innecesario y no ofrece información de valor. Después de la prueba
esta opción se modificó.
- En general el sistema es visto como útil, salvo algunas excepciones, que tienen que
ver más con el uso de la interfaz gráfica que con las funciones en sí.
Percepción general del sistema
C1 C2 C3 Promedio1. El sistema en general es de fácil uso. 4 4 4 4,02. Los iconos de la barra de herramientas son intuitivos y le dicen que función cumple cada uno. 4 4 5 4,33. El color, tamaño y forma de los iconos es adecuado. 5 4 5 4,73. La visualización de colores (RGB) en el fondo de cada uno de los planos, ayuda a reconocerlos fácilmente. 5 4 5 4,74. El uso de los controles de cambio de corte en cada uno de los planos es preciso e intuitivo. 5 5 5 5,05. El cambio en el contraste de la imagen usando el mouse es de fácil uso. 5 5 5 5,06. Observar el cambio en la vista de volumen a medida que se cambia uno de los cortes de un plano lo hace una herramienta de navegación importante. 5 5 5 5,0
Página 72
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
7. La organización de las 4 vistas (sagital, coronal, transversal y volumen) es agradable. 5 5 5 5,08. La organización de los botones, cuadros de texto y etiquetas es agradable en el panel de Algoritmo. 5 5 5 5,09. La organización de los botones para observar cada una de las imágenes es la correcta. 5 3 5 4,310. Es intuitivo realizar paso a paso el algoritmo sin cometer erro-res. 3 5 3 3,711. La división de la pantalla principal al momento de seleccionar la herramienta de "Algoritmo", "Datos" y "Volumetría", le ayuda a visualizar las imágenes mientras realizan cambios. 5 5 5 5,012. Al observar la imagen tridimensional en la herramienta "3D View", se pueden observar colores agradables y acordes con la imagen que representan. 5 5 5 5,013. El uso de la opacidad en la herramienta "3D View" le ayuda a identificar mejor las estructuras. 5 3 5 4,314. La visualización del volumen que ocupa una región candidata y las coordenadas donde se encuentra dicha región, le ayudan a identificarla fácilmente en la imagen. 5 4 5 4,715. El uso de la herramienta de histograma le ayuda a identificar umbrales para seleccionar en el desarrollo del algoritmo. 5 3 4 4,016. La interacción que tiene con la imagen es intuitiva. 4 5 4 4,317. La interacción que tiene con el modelo en tres dimensiones es intuitiva. 5 5 4 4,7
A partir de los resultados obtenidos se puede concluir lo siguiente:
- El desarrollo del algoritmo puede mejorar en la interfaz gráfica con el fin de no co-
meter errores en la ejecución del mismo. Puede ser más intuitivo y tener mejores
herramientas para mostrar y pedir los datos.
- El histograma es una herramienta que no es muy útil para la aplicación que se está
desarrollando, debería tener mayor integración con las imágenes del algoritmo.
- Hace falta una guía para que los usuarios conozcan todas las herramientas y formas
de interacción con las imágenes en tres dimensiones.
- Es necesario realizar algunos cambios visuales como el cambio de color en algunas
estructuras, ya que algunos usuarios podrían tener dificultad al momento de visuali -
zar las diferentes ventanas.
Página 73
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
En general la opinión de los calificadores es buena hacia el sistema, lo ven como algo
útil para el tema en cuestión. Según los comentarios, ellos harían ciertos cambios
que ya fueron mencionados en las dos anteriores pruebas y otros adicionales. Algu-
nos de estos cambios se realizaron para la entrega final de la aplicación.
VIII – CONCLUSIONES
Análisis de Impacto del Desarrollo
1. Social
Se espera que el sistema completo ayude a la detección temprana de nódulos pulmonares,
para generar tratamientos adecuados y a tiempo para los pacientes, y así evitar el desarrollo
de enfermedades más graves como lo puede ser el cáncer.
2. Disciplinar
Desde el punto de vista de la ingeniería se espera que la aplicación pueda generar mayor
interés por la temática de interacción 3D y procesamiento de imágenes médicas, ya que
estos tópicos son de gran valor para la sociedad y son poco frecuentados.
3. Económico
El sistema completo permitiría que los pacientes con enfermedades pulmonares puedan
obtener diagnósticos en poco tiempo, con buenos resultados y lo más importante, con bajos
costos, ya que la tomografía computarizada, comparada con otras imágenes tiene menor
costo, además el hecho que gran parte del procedimiento sea realizado por un computador,
reduce los costos tanto de entidades de salud como de los pacientes.
Conclusiones y Trabajo Futuro
- Aunque el desarrollo del algoritmo propuesto, cumple con su objetivo, el uso de
muchos de los filtros usados para el procesamiento de imágenes tienen un tiempo
de ejecución muy largo, y hay otros que tienen un costo computacional muy alto, lo
Página 74
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
cual hace que la aplicación sea funcional pero a su vez elimina características de
usabilidad las cuales también son importantes. Se espera en un trabajo futuro dar
también prioridad a la usabilidad, y de ser posible, a factores clave como el tiempo
de ejecución, ya sea eligiendo otras propuestas de algoritmos o usando otro tipo de
imágenes de entrada.
- El procedimiento dentro del algoritmo de contraste local o top-hat realza volúmenes
que son menores o iguales al radio del kernel de la operación morfológica de aper-
tura. Durante la realización de este proyecto se notó, que los filtros de operaciones
morfológicas aparte de tener un costo computacional alto, tienen un tiempo de
ejecución muy extenso entre más grande sea el kernel que se use. Por tal razón no
fue posible el uso de un kernel que fuera del tamaño de los nódulos pulmonares
más grandes, que según la bibliografía es de 30 mm, ya que implicaban un costo
computacional demasiado alto. Por tal razón se decidió utilizar un kernel relativa-
mente pequeño, con resultados buenos al momento de encontrar nódulos pulmo-
nares pequeños, sin embargo, nódulos grandes y calcificados no fueron encontrados
por el algoritmo realizado con los parámetros dados, lo cual lleva a pensar que debi-
do a lo anterior, no es posible encontrar nódulos de tamaño grande con el algoritmo
actual. Se espera que en futuros trabajos se use otra característica diferente al
contraste local o se encuentre otra alternativa para encontrar nódulos de gran ta -
maño.
- El desarrollo del algoritmo paso a paso dentro de la aplicación, es una herramienta
importante en términos académicos, ya que dan la posibilidad al usuario que vea
detalladamente el desarrollo de todo el algoritmo, además de poder interactuar con
cada resultado obtenido. Sin embargo, al tener en cuenta el contexto en el que se
espera que se use la aplicación, la visualización del paso a paso del algoritmo pasa a
un segundo plano, ya que lo más importante para el especialista es el resultado
final.
- La interacción 3D que el usuario tiene con el modelo en tres dimensiones del pul -
món, el árbol bronquial y las regiones candidatas, es algo que es considerado como
Página 75
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
muy útil e importante en el tema de imágenes médicas, ya que ello provee informa-
ción valiosa de las diferentes estructuras de interés, además de ser un procedimien-
to totalmente intuitivo tanto para el medico como para el paciente. Se espera que
en futuros trabajos se dé mayor importancia a la interacción que se tiene con estas
imágenes, así como poder usar periféricos diferentes al teclado, la pantalla y el
mouse.
- Si bien con el algoritmo propuesto se pudo reducir el área de búsqueda, aun se ob-
tiene gran cantidad de regiones candidatas, y aunque las herramienta de cálculo de
volumetría aproximado y de modelo de 3D, resultaron ser un factor importante en
el desarrollo del proyecto, con tantas regiones, se pierde la usabilidad de dichas
funciones. Se espera poder desarrollar un clasificador que reduzca notablemente la
cantidad de candidatos, para de esa forma poder ver un valor agregado de éstas
herramientas.
IX- REFERENCIAS Y BIBLIOGRAFÍA
] J. C. Ugarte Suárez, J. Banasco Domínguez, y D. Ugarte Moreno, Manual de imagenolo-gía, Segunda Edición. La Habana: Editorial Ciencias Médicas, 2004.
[2] L. F. Torres y F. Usaga, «La importancia de las imágenes en radioterapia», Rev Colomb Cancerol, vol. 10, n.o 2, pp. 137–141, 2006.
[3] G. Passariello, Imagénes médicas. Adquisición, Análisis. Equinoccio, 1995.
[4] J. E. Gutierrez, Radiología E Imágenes Diagnosticas. Corporación para Investigaciones Biológicas, 2006.
[5] Tecnico Especialista en Radiodiagnóstico Del Servicio Vasco de Salud-osakidetza. Te-mario Ebook. MAD-Eduforma.
[6] S. S. E. de R. Médica, Radiología Esencial. Editorial Médica Panamericana S.A., 2010.
[7] O. Duménigo Arias, B. de Armas Pérez, A. Gil Hernández, y M. V. Gordis Aguilera, «Nódulo pulmonar solitario: Qué hacer», Rev. Cuba. Cir., vol. 46, n.o 2, 2007.
[8] «AMIDE: a Medical Image Data Analysis Tool». [En línea]. Disponible en: http://ami-de.sourceforge.net/. [Accedido: 30-abr-2015].
Página 76
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
[9] «ITK-Snap HomePage». [En línea]. Disponible en: http://www.itksnap.org/pmwiki/pmwiki.php. [Accedido: 30-abr-2015].
[10]A. Restrepo, «Procesamiento de imágenes médicas», Rev. Univ. EAFIT, vol. 34, n.o 110, pp. 86–92, 2012.
[11]M. Goncalves, R. Rodríguez, y L. Tineo, «Incorporando consultas difusas en el desarro-llo de software Adding fuzzy queries to software development», Rev. Av. En Sist. E In-formática, vol. 6, n.o 3, 2009.
[12]T. Stober y U. Hansmann, Agile Software Development: Best Practices for Large Soft-ware Development Projects. Springer Berlin Heidelberg, 2009.
[13]J. Appelo, «Agile Record The Magazine for Agile Developers and Agile Testers», p. 20, abr. 2011.
[14]I. Sommerville y M. I. A. Galipienso, Ingeniería del software. Pearson Educación, 2005.
[15]M. E. de la Mora, Metodología de la investigación: desarrollo de la inteligencia. Thom-son, 2006.
[16]M. Latarjet y A. R. Liard, Anatomía humana. Editorial Médica Panamericana, 2004.
[17]G. Thews y E. Mutschler, Anatomía, fisiología y patofisiología del hombre. Reverté, 1983.
[18]M. K. Gould, J. Fletcher, M. D. Iannettoni, W. R. Lynch, D. E. Midthun, D. P. Naidich, y D. E. Ost, «Evaluation of patients with pulmonary nodules: when is it lung cancer?: ACCP evidence-based clinical practice guidelines», Chest J., vol. 132, n.o 3_suppl, p. 108S–130S, 2007.
[19]Escuela de Verano de Informática, P. Á. Cuenca Castillo, y R. Puigjaner, Eds., Tenden-cias en redes de altas prestaciones. Cuenca: Ediciones de la Universidad de Castilla-La Mancha, 1999.
[20]G. Bueno y J. Dorado, Gestión, procesado y análisis de imágenes biomédicas. Cuenca: Ediciones de la Universidad de Castilla-La Mancha, 2007.
[21]«DICOM Software | DICOM Medical Imaging Solutions – BRIT Systems». [En línea]. Disponible en: http://www.brit.com/dicom.html. [Accedido: 30-abr-2015].
[22]R. A. Novelline y B. Lienas Massot, Squire: fundamentos de radiología. Barcelona: MASSON, 2000.
[23]K. L. Moore y A. M. R. Agur, Fundamentos de anatomía con orientación clínica. Bue-nos Aires: Edit. Médica Panamericana, 2003.
Página 77
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
[24]«¿Cómo funciona un tomógrafo computado? | DrGEN.com.ar». [En línea]. Disponible en: http://www.drgen.com.ar/2012/11/como-funciona-tomografo/. [Accedido: 30-abr-2015].
[25]A. T. Reali, Radiodiagnóstico y Radioterapia. Lulu, 2012.
[26]F. Y. Shih, Image Processing and Mathematical Morphology: Fundamentals and Appli-cations. CRC Press, 2009.
[27]«MOTE: Modelos Matemáticos III: Vectores y Matrices». [En línea]. Disponible en: http://moteorg.blogspot.com/2013/09/modelos-matematicos-iii.html. [Accedido: 17-may-2015].
[28]A. C. Bovik, The Essential Guide to Image Processing. Elsevier Science, 2009.
[29]I. Bankman, Handbook of Medical Image Processing and Analysis. Elsevier Science, 2008.
[30]R. C. Gonzalez y R. E. Woods, Digital Image Processing. Pearson Education, 2011.
[31]«Simple single-seeded region growing - File Exchange - MATLAB Central». [En línea]. Disponible en: http://www.mathworks.com/matlabcentral/fileexchange/35269-simple-single-seeded-region-growing. [Accedido: 01-may-2015].
[32]J. F. P. Grau, Técnicas de análisis de imagen: Aplicaciones en Biología, Segunda Edi-ción. Publicaciones de la Universidad de Valencia, 2011.
[33]B. Chanda y D. D. Majumder, Digital Image Processing and Analysis. Prentice Hall of India, 2004.
[34]F. Y. Shih, Image Processing and Pattern Recognition: Fundamentals and Techniques. Hoboken, New Jersey: Wiley, 2010.
[35]E. R. Dougherty, R. A. Lotufo, y T. I. S. for O. E. SPIE, Hands-on morphological image processing, vol. 71. SPIE press Bellingham, 2003.
[36]P. Stelldinger, Image Digitization and Its Influence on Shape Properties in Finite Dimen-sions. Akademische, 2008.
[37]«501px-MarchingCubes.svg.png (Imagen PNG, 501 × 236 píxeles)». [En línea]. Dispo-nible en: http://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/MarchingCubes.s-vg/501px-MarchingCubes.svg.png. [Accedido: 27-may-2015].
[38]Y. Sato, S. Nakajima, H. Atsumi, T. Koller, G. Gerig, S. Yoshida, y R. Kikinis, «3D multi-scale line filter for segmentation and visualization of curvilinear structures in medi-cal images», en CVRMed-MRCAS’97, 1997, pp. 213–222.
Página 78
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
[39]P.-E. Danielsson, «Euclidean distance mapping», Comput. Graph. Image Process., vol. 14, n.o 3, pp. 227–248, 1980.
[40]Y. Masutani, H. MacMahon, y others, «Computerized detection of pulmonary embolism in spiral CT angiography based on volumetric image analysis», Med. Imaging IEEE Trans. On, vol. 21, n.o 12, pp. 1517–1523, 2002.
[41]H. Bouma, J. J. Sonnemans, A. Vilanova, y F. A. Gerritsen, «Automatic detection of pulmonary embolism in CTA images», Med. Imaging IEEE Trans. On, vol. 28, n.o 8, pp. 1223–1230, 2009.
[42]«ITK - Segmentation & Registration Toolkit». [En línea]. Disponible en: http://www.i-tk.org/. [Accedido: 05-abr-2015].
[43]«VTK – The Visualization Toolkit». [En línea]. Disponible en: http://www.vtk.org/. [Ac-cedido: 03-abr-2015].
[44]«Qt - Developer Resources - documentation, guides, forums». [En línea]. Disponible en: http://www.qt.io/developers/. [Accedido: 05-abr-2015].
[45]D. A. Bowman, E. Kruijff, J. J. LaViola, y I. Poupyrev, 3D User Interfaces: Theory and Practice. Pearson Education, 2004.
[46]C. Larman, UML y patrones: una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid [etc.]: Prentice Hall, 2002.
[47]R. S. Pressman, R. O. Martín, y L. J. Aguilar, Ingeniería del software: un enfoque prácti-co. Mac Graw-Hill, 1997.
[48]T. Reenskaug y J. O. Coplien, «The DCI architecture: A new vision of object-oriented programming», Artic. Start. New Blog14pp Httpwww Artima Comarticlesdcivision Html, 2009.
[49]Y. D. González y Y. F. Romero, «Patrón Modelo-Vista-Controlador.», Rev. Telem Tica, vol. 11, n.o 1, pp. 47–57, 2012.
[50]J. V. Sonia, D. Villa Zapata, y S. Cardona Torres, Programación Avanzada en Java, Primera. Armenia, Quindio: Elizcom S.a.s.
[51]L. Ibanez, W. Schroeder, L. Ng, y J. Cates, «The ITK software guide», 2003.
[52]W. J. Schroeder, K. Martin, L. Avila, y C. Law, The VTK User’s Guide. Kitware. Inc, 1998.
[53]«ITK: Insight Toolkit Documentation». [En línea]. Disponible en: http://www.itk.org/Doxygen47/html/index.html. [Accedido: 06-abr-2015].
Página 79
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Ingeniería de Sistemas Takina – CIS1510AP04
[54]«VTK: VTK 6.2.0 Documentation». [En línea]. Disponible en: http://www.vtk.org/doc/nightly/html/index.html. [Accedido: 06-abr-2015].
[55]«Qt Documentation». [En línea]. Disponible en: http://doc.qt.io/. [Accedido: 06-abr-2015].
[56]P. Kuchana, Software Architecture Design Patterns in Java. Taylor & Francis, 2004.
[57]«Public Lung Image Database». [En línea]. Disponible en: http://www.via.cornell.edu/databases/lungdb.html. [Accedido: 22-may-2015].
[58]P. A. C. Pérez, J. R. García, y J. J. R. Ibáñez, Ingeniería biomédica: Imágenes médicas. Ediciones de la Universidad de Castilla-La Mancha, 2006.
[59]F. Reiser y U. J. Schoepf, Multidetector-Row CT of the Thorax. Springer Berlin Heidel-berg, 2005.
[60]D. Ost, A. M. Fein, y S. H. Feinsilver, «The solitary pulmonary nodule», N. Engl. J. Med., vol. 348, n.o 25, pp. 2535–2542, 2003.
[61]«ITK: itk::RescaleIntensityImageFilter< TInputImage, TOutputImage > Class Template Reference». [En línea]. Disponible en: http://www.itk.org/Doxygen/html/classitk_1_1RescaleIntensityImageFilter.html. [Accedido: 24-may-2015].
[62]«VTK: QVTKWidget Class Reference - doxygen documentation | Fossies Dox». [En línea]. Disponible en: http://fossies.org/dox/VTK-6.2.0/classQVTKWidget.html. [Acce-dido: 27-may-2015].
[63]«Signals & Slots | Qt 4.8». [En línea]. Disponible en: http://doc.qt.io/qt-4.8/signalsands-lots.html. [Accedido: 27-may-2015].
[64]W. Burger y M. Burge, Principles of digital image processing: fundamental techniques. London: Springer, 2009.
[65]C. B. Reynoso, «Introducción a la Arquitectura de Software», Univ. B. Aires, vol. 33, 2004.
[66]S. Carlyle Bushong, Manual de radiología para técnicos, 10a edición. Barcelona, Espa-ña: Elsevier, 2013.
[67]B. C. Falgueras y U. O. de Catalunya, Ingeniería del software. Universidad Oberta de Catalunya, 2002.
[68]E. D. Frank, B. W. Long, B. J. Smith, P. W. Ballinger, y V. Merrill, Merrill atlas de posiciones radiográficas y procedimientos radiológicos. Barcelona: Elsevier, 2010.
Página 80
Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.
[69]«curvilíneo - Definición - WordReference.com». [En línea]. Disponible en: http://www.wordreference.com/definicion/curvil%C3%ADneo. [Accedido: 17-may-2015].
[70]D. Hearn y M. P. Baker, Gráficos por computadora con OpenGL. Madrid [etc.]: Pearson, 2006.
[71]A. S. Soto, Física matemática, Primera. Colombia: Universidad de Antioquia, 2009.
[72]E. Coto, «Métodos de segmentación de imágenes médicas», Univ. Cent. Venezuela Lect. En Cienc. Comput., vol. 1, pp. 9–15, 2003.
[73]C. Solomon y T. Breckon, Fundamentals of Digital Image Processing: A Practical Ap-proach with Examples in Matlab. Wiley, 2011.
[74]C. S. Sinnatamby, Anatomía de Last: regional y aplicada. Editorial Paidotribo, 2003.
[75]H. Singh, Atlas Práctico de Tomografía Computada. Jaypee Brothers, Medical Publish-ers, 2012.
[76]L. M. Surhone, M. T. Timpledon, y S. F. Marseken, Voxel: 3D Computer Graphics, Reg-ular Grid, Raster Graphics, Coordinate System, Polygon, Volumetric Display, Polyno-mial Interpolation, Hounsfield Scale, Volumetric Flow Rate. Betascript Publishing, 2010.
[77]Institute of Electrical and Electronics Engineers, IEEE standard for information technol-ogy--systems design--software design descriptions. New York: Institute of Electrical and Electronics Engineers, 2009.
[78]J. L. Chávez, Tratamiento Digital de Imágenes Multiespectrales. Lulu Com, 2012.
[79]B. J. Melloni, I. Dox, y G. M. Eisner, Diccionario médico ilustrado de Melloni. Reverté, 1982.
[80]J. J. Esqueda Elizondo y L. E. Palafox Maestre, Fundamentos para el procesamiento de imágenes. México: UABC, 2005.
[81]J. F. Barrett y N. Keat, «Artifacts in CT: Recognition and Avoidance 1», Radiographics, vol. 24, n.o 6, pp. 1679–1691, 2004.
[82]«DICOM Homepage». [En línea]. Disponible en: http://medical.nema.org/standard.html. [Accedido: 27-abr-2015].
[83]NEMA, «PS3.6 DICOM PS3.6 2015b - Data Dictionary», 2015. [En línea]. Disponible en: http://medical.nema.org/standard.html. [Accedido: 26-abr-2015].
Página 81
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008