Sistema de apoyo para identificación y estimación de ...

139
CIS1510AP04 SISTEMA DE APOYO PARA IDENTIFICACIÓN Y ESTIMACIÓN DE VOLUMETRÍA DE NÓDULOS PULMONARES JOSÉ ALEJANDRO LEÓN ANDRADE PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERIA CARRERA DE INGENIERIA DE SISTEMAS BOGOTÁ, D.C. 2015

Transcript of Sistema de apoyo para identificación y estimación de ...

Page 1: Sistema de apoyo para identificación y estimación de ...

CIS1510AP04 SISTEMA DE APOYO PARA IDENTIFICACIÓN Y ESTIMACIÓN DE VOLUMETRÍA

DE NÓDULOS PULMONARES

JOSÉ ALEJANDRO LEÓN ANDRADE

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERIA

CARRERA DE INGENIERIA DE SISTEMAS

BOGOTÁ, D.C.

2015

Page 2: Sistema de apoyo para identificación y estimación de ...
Page 3: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página i

Preparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008

CIS1510AP04

Sistema 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 JAVERIANA

FACULTAD DE INGENIERIA

CARRERA DE INGENIERIA DE SISTEMAS

BOGOTÁ, D.C.

Mayo, 2015

Page 4: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página ii

PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD 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

Page 5: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página iii

Preparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008

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”

Page 6: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página iv

AGRADECIMIENTOS

Quisiera agradecer principalmente a mi familia, en especial a mi papá, mi mamá y mi hermano

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ó brindán-

dome 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.

Page 7: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página v

Preparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008

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 .............................................2 1.1. Formulación del problema que se resolvió .............................................................. 3 1.2. Justificación del problema ....................................................................................... 4 1.3. Impacto Esperado ..................................................................................................... 5

2. DESCRIPCIÓN DEL PROYECTO .............................................................................5 2.1. Objetivo general ....................................................................................................... 5 2.2. Objetivos específicos ................................................................................................ 5

3. METODOLOGÍA ...................................................................................................6 3.1. Fase de concepción .................................................................................................. 6 3.2. Fase de elaboración ................................................................................................. 7 3.3. Fase de construcción ................................................................................................ 7

III – MARCO TEÓRICO ............................................................................................8

1. MARCO CONCEPTUAL ..................................................................................8 1.1. Anatomía de los pulmones ........................................................................................ 8 1.2. Nódulos Pulmonares ................................................................................................ 9 1.3. Estándar DICOM ..................................................................................................... 9 1.4. Imagen de TAC ....................................................................................................... 11 1.5. Escala HU .............................................................................................................. 12 1.6. Operaciones básicas en imágenes .......................................................................... 13 1.7. Filtro Mediana........................................................................................................ 14 1.8. Umbralización ........................................................................................................ 15 1.9. Crecimiento de regiones ......................................................................................... 16 1.10. Morfología matemática ........................................................................................ 17 1.11. Detección de bordes ............................................................................................. 18 1.12. Etiquetado de regiones......................................................................................... 19 1.13. Transformaciones top-hat y bottom-hat ............................................................... 19 1.14. Algoritmo de Marching Cubes ............................................................................. 20

2. MARCO CONTEXTUAL ...............................................................................21

Page 8: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página vi

3D Multi-Scale Line Filter for Segmentation and Visualization of Curvilinear Structures

in Medical Images [38] ...................................................................................................... 21 Euclidean Distance Mapping [39] ..................................................................................... 22 Computerized Detection of Pulmonary Embolism in Spiral CT Angiography Base don

Volumetric Image Analysis [40]. ....................................................................................... 23 Automatic Detection of Pulmonary Embolism in CTA Images [41] .................................. 24

IV – ANÁLISIS ...........................................................................................................24 1. Limitaciones ........................................................................................................... 24 2. Suposiciones y dependencias .................................................................................. 25 3. Funciones de la aplicación ..................................................................................... 25 4. Descripción de los requerimientos del sistema ...................................................... 25 5. Modelo de dominio ................................................................................................. 27 6. Plan de pruebas ...................................................................................................... 28

V – DISEÑO ................................................................................................................31 1. Arquitectura ............................................................................................................ 31 2. Componentes .......................................................................................................... 32 3. Implementación de la arquitectura......................................................................... 34

VI – DESARROLLO DE LA SOLUCIÓN ...............................................................38

1. DESARROLLO DEL ALGORITMO .........................................................................38 1. Obtención de la imagen de entrada ........................................................................ 40 2. Filtro mediana ........................................................................................................ 40 3. Obtención de la máscara de los pulmones ............................................................. 41 4. Obtención de la máscara del mediastino ............................................................... 41 5. Obtención de árbol vascular y regiones con forma tubular ................................... 42 6. Obtención del volumen de candidatos .................................................................... 44 7. Obtención del volumen de imagen de candidatos .................................................. 46

2. DESARROLLO DE LA INTERFAZ GRÁFICA ...........................................................47 1. Ventana principal ................................................................................................... 48 2. Forma de 4 vistas ................................................................................................... 48 3. Ventana de histograma ........................................................................................... 50 4. Forma de algoritmo ................................................................................................ 51 5. Forma de datos ....................................................................................................... 53 6. Forma de volumetría .............................................................................................. 53 7. Ventana de modelo en 3D ....................................................................................... 55

VII – RESULTADOS .................................................................................................56

1. PRUEBAS DEL SISTEMA......................................................................................56

2. PRUEBAS DE ENTREGA ......................................................................................63

3. PRUEBAS DEL USABILIDAD ................................................................................69

Page 9: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página vii

Preparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008

VIII – CONCLUSIONES ..........................................................................................73

ANÁLISIS DE IMPACTO DEL DESARROLLO .....................................................................73 1. Social ...................................................................................................................... 73 2. Disciplinar .............................................................................................................. 73 3. Económico .............................................................................................................. 73

CONCLUSIONES Y TRABAJO FUTURO ............................................................................73

IX- REFERENCIAS Y BIBLIOGRAFÍA ................................................................75

X – ANEXOS ..............................................................................................................81

ANEXO 1. GLOSARIO .....................................................................................................81

ANEXO 2. PARTES DEL ESTÁNDAR DICOM [82] ...........................................................85

ANEXO 3. DICCIONARIO DE DATOS DEL ESTÁNDAR DICOM [83] .................................87

ANEXO 5. PRUEBAS DE ENTREGA ..................................................................................90

ANEXO 6. PRUEBAS DE USABILIDAD ...........................................................................102

ANEXO 7. INTEGRACIÓN DE HERRAMIENTAS ...............................................................115

ANEXO 8. CARTA DE AUTORIZACIÓN DE LOS AUTORES ...............................................122

ANEXO 9. DESCRIPCIÓN DE LA TESIS O TRABAJO DE GRADO .......................................124

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

Page 10: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página viii

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 mediana

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

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

Page 11: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página ix

Preparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008

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

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 𝝀𝟏 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

Page 12: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página x

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 condition,

and its detection in early stages could avoid the onset of diseases such as cancer. Taking 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 dimensions,

in an intuitive way that facilitates the analysis of possible nodules and its final diagnosis.

Page 13: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página xi

Preparado por el Grupo Investigación Istar- Versión 1.0 – 12/03/2008

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 asin-

tomática, cuya detección en etapas tempranas puede evitar la aparición de enfermedades

como el cáncer. Teniendo en cuenta esto, en este trabajo se propuso un sistema semiauto-

má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 in-

tuitiva que facilita el análisis de los posibles nódulos y su diagnóstico final.

Page 14: Sistema de apoyo para identificación y estimación de ...
Page 15: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 1

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

I - INTRODUCCIÓN

El presente trabajo se basa en el estudio y el análisis de la temática relacionada con imágenes

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 proce-

samiento de imágenes, y de esa forma, ayudar al radiólogo a realizar un diagnóstico más pre-

ciso.

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 impacto

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 me-

todología que se siguió para llevarlos a cabo.

Posteriormente se expone el marco teórico, donde aparecen descripciones de soluciones re-

lacionadas 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 pulmo-

nares.

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 pers-

pectivas: 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.

Page 16: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 2

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 procedimien-

tos 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 cre-

cimiento 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 introducción de la infor-

má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 radio-

logía, y en general con las imágenes médicas. Esto permite un análisis más profundo, deta-

llado y sencillo de los pacientes sin necesidad de someterlos a procesos invasivos, logrando

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 interven-

ción del especialista (radiólogo) para su lectura e interpretación, quien se basa en la manipu-

lació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 conocimientos so-

bre 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 anatomía, lo cual

incluye aspectos morfológicos, fisiológicos y patológicos [3]. Lo anterior demuestra que aun-

que se tenga la tecnología para obtener imágenes, un buen diagnóstico depende de variables

Page 17: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 3

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

como la memoria, conocimientos y entrenamiento del especialista, el ambiente o condiciones

bajo las cuales se obtuvo la imagen y las características del dispositivo de obtención, entre

otros, de forma que es siempre el especialista quien debe tomar una decisión sobre un diag-

nóstico [4].

En la actualidad, se cuenta con la obtención de las imágenes en formato digital, lo cual facilita

el tratamiento, procesamiento, transmisión, almacenamiento y visualización de las mismas.

En general, se utiliza un computador y un software para ayudar al especialista a tomar deci-

siones más acertadamente, minimizando al máximo las variables que pueden afectar el diag-

nóstico adecuado [5]. En el caso particular de este trabajo, se dio importancia a la detecció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 utili-

zaron 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 radiografías, y su detec-

ción ha aumentado con el uso del TAC, especialmente de los equipos multidetector. Es im-

portante resaltar que la detección temprana de un nódulo contribuye a evitar un posible cán-

cer 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 pulmo-

nar 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 pulmo-

nares?

Page 18: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 4

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 calcificaciones

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 pro-

yecto.

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 proporción

de nódulos malignos diagnosticados previamente como indeterminados por técnicas no inva-

sivas, 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 interacción

con el volumen de la imagen, ya que esta es una característica fundamental para el análisis

Page 19: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 5

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 primordial del

sistema es asesorar al experto en la toma de decisiones y ayudar a realizar un mejor diagnós-

tico, 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 tomografí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.

Page 20: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 6

- Diseñar un sistema para generar un modelo en 3D de los pulmones, que ayude a iden-

tificar 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 pacientes.

- 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 pro-

ceso unificado (AUP), de la cual se realizaron las fases de concepción, elaboración y construc-

ció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 requerimientos

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 sis-

tema cumpliera con los requerimientos.

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

Page 21: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 7

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

igual forma se definieron las interacciones que deben tener las entidades externas con el sis-

tema, 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 objetivos claros

del proyecto y el alcance del mismo. En resumen, al finalizar esta fase se entregó un docu-

mento de SRS (especificación de requerimientos de software) y un documento donde se indi-

caba 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 supo-

nía implementar esa arquitectura[12]. En esta fase se desarrolló un documento con la arqui-

tectura del sistema, este documento en su totalidad corresponde a un SDD (Descripció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 reque-

rimientos 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.

Page 22: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 8

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 pro-

blema 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 pulmo-

nes, 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 realizado 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) encargada 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 forma de ramaje de un

árbol, por ello se conoce con el nombre de árbol bronquial [17].

Page 23: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 9

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 so-

litarias 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 estruc-

tura 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 apa-

riencia 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 eta-

pas 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

College of Radiology) y el NEMA “National Electrical Manufacturers Association”. Fue creado

Page 24: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 10

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édicas

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 obje-

tos de información sean usados por los sistemas de comunicación. También posee definicio-

nes 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 transmisión

ISO/OSI además de TCP/IP, lo cual permite usar cualquier tecnología de red actual como Et-

hernet, FDDI, RDSI y ATM entre otros. El estándar DICOM está formado por varias partes des-

critas en diferentes documentos, los cuales son detallados en el Anexo 2 [19].

Page 25: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 11

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 densidad

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 dimensión en la

imagen, y es esto lo que se conoce como imagen en tres dimensiones. Para formar dicha ima-

gen, 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 alre-

dedor del paciente. En sentido opuesto al generador, se encuentran los detectores electróni-

cos, 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 intensidad 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 depende de la radia-

ció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 mosaico (cada región de la

cuadricula), generando una disposición gráfica de todos los valores de absorción en una ima-

gen tridimensional, que finalmente configura la imagen de TAC final [22].

Page 26: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 12

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 me-

diante la ecuación:

𝐻𝑈 =𝐸

𝐾(𝜇𝑚 − 𝜇𝑎)

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

𝜇𝑚 𝑦 𝜇𝑎 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 arbitraria-

mente, y a partir del coeficiente de atenuación del agua se comparan todos los demás mate-

riales, logrando obtener valores positivos y valores negativos; por una parte, de forma ascen-

dente, 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 desde la

Page 27: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 13

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

grasa hasta el aire (que puede tener valor de -500 o menos). En general el rango de los núme-

ros de la escala es de 2000 HU (desde -1000 a +1000 HU), aunque en ocasiones dependiendo

del escáner se pueden alcanzar escalas de 4000 HU [22] [25] . En el caso particular del pro-

yecto, 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].

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, donde la

Page 28: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 14

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, definidos 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ágenes,

teniendo en cuenta que se encuentran en un espacio euclidiano. Por tal razón operaciones

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 tam-

bié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 impulsivo,

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 ker-

nel 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 menores 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].

Page 29: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 15

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

Una ventaja del uso de este filtro es que grandes discontinuidades como los bordes y grandes

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 bordes 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), basadas

en propiedades locales como el valor promedio de una región junto con una desviación es-

tándar (umbralización local), o basadas en selección independiente para cada voxel (umbrali-

zación dinámica o adaptativa). Generalmente la umbralización global se utiliza cuando la ima-

gen es bimodal, es decir que un objeto puede ser extraído del fondo usando dos grupos, 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:

Page 30: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 16

𝒈(𝒙, 𝒚, 𝒛) = {𝟏 𝑻𝒎𝒊𝒏 < 𝒇(𝒙, 𝒚) < 𝑻𝒎𝒂𝒙

𝟎 𝑳𝒐𝒔 𝒅𝒆𝒎á𝒔 𝒄𝒂𝒔𝒐𝒔

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 selec-

cionada 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 voxel 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 to-

Page 31: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 17

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

dos los voxeles que hayan sido seleccionados. En conclusión, la ventaja de usar este procedi-

miento es que es capaz de segmentar regiones que tienen las mismas propiedades 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 encontraba

dentro del rango establecido, eran aceptados para pertenecer a la región de crecimiento.

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 imagen

binaria debido a que a que el umbral incluyó el nivel de los límites entre ambos; pueden apa-

recer agujeros en un objeto de interés; incluso puede ocurrir que en la máscara existan obje-

tos partidos en los lados de la imagen. En general este tipo de artefactos pueden ser elimina-

Page 32: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 18

dos mediante procesos de morfología matemática, los cuales usan operaciones lógicas (boo-

leanas) y teoría de conjuntos [32]. Las operaciones de morfología matemática trabajan con

dos imágenes (refiriéndose a una imagen como una matriz de voxeles), una de ellas es la ima-

gen que está siendo procesada llamada “imagen activa” y la otra es el kernel llamado “ele-

mento estructurador”, este último puede tener formas y tamaños variados de acuerdo al pro-

blema 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 ope-

raciones de apertura ( erosión seguida de dilatación para abrir pequeños huecos) 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 hu-

mano, 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 intensidades 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 dentro de un ve-

cindario, que separa dos regiones con niveles de gris uniforme, pero con diferentes valores

en cada lado del borde, y puede ser visto matemáticamente como una funció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].

Page 33: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 19

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 es-

tudiadas individualmente. Para ello se le asigna una etiqueta o nombre único a cada objeto

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:

𝑓 ∘̂ 𝑏 = 𝑓 − (𝑓 ∘ 𝑏)

Ecuación 3: Definición de operación Top-hat

Donde 𝑓 ∘ 𝑏 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

Page 34: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 20

Bottom-hat de una imagen en escala de grises, tiene como resultado otra imagen que con-

tiene 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:

𝑓 ∙̂ 𝑏 = (𝑓 ∙ 𝑏) − 𝑓

Ecuación 4: Definición de operación Bottom-hat

Donde 𝑓 ∙ 𝑏 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 algoritmo

básicamente realiza un muestreo cubico, y analiza configuraciones locales de 8 puntos veci-

nos de muestreo (vértices de un cubo), con el fin de reconstruir una superficie poligonal me-

diante 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 posi-

bles en los que un cubo puede ser interceptado por la superficie, debido a simetrías rotacio-

nales y casos complementarios [36].

Figura 11: 15 configuraciones de topología del algoritmo de Marching Cubes [37] .

Page 35: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 21

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 bron-

quios 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 estructuras, como

de la recuperación de estructuras de línea originales que estén corruptas o dañadas. El resul-

tado luego de pasar las imágenes por el filtro, brinda una mejora significativa en la segmen-

tación de estructuras curvilineales, además da la posibilidad de visualización directa de dichas

estructuras mediante la combinación de una técnica de renderización de volumen. De igual

forma se presenta la utilidad del método a través de la visualización y segmentació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 matriz:

𝐻 = [

𝐼𝑥𝑥 𝐼𝑥𝑦 𝐼𝑥𝑧𝐼𝑦𝑥 𝐼𝑦𝑦 𝐼𝑦𝑧𝐼𝑧𝑥 𝐼𝑧𝑦 𝐼𝑧𝑧

]

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

ese punto. El filtro toma como entrada dicha matriz Hessiana y conserva los voxeles que tie-

nen valores propios 𝜆3 cercanos a 0, mientras que 𝜆2 𝑦 𝜆1 son valores muy negativos (para

Page 36: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 22

estructuras tubulares brillantes), entonces se tiene que |𝜆1| < | 𝜆2| < |𝜆3| , y bajo esas con-

diciones 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 positivo

de 𝜆2 y 𝜆3.

Estructuras con formas planas brillantes tendrán un valor de 𝜆1 𝑦 𝜆2 pequeño y un

valor muy negativo de 𝜆3.

Estructuras con formas planas oscuras tendrán un valor de 𝜆1 𝑦 𝜆2 pequeño y un valor

muy positivo de 𝜆3.

Estructuras con formas esféricas brillantes tendrán un valor de 𝜆1, 𝜆2 𝑦 𝜆3 muy nega-

tivo.

Estructuras con formas esféricas oscuras tendrán un valor de 𝜆1, 𝜆2 𝑦 𝜆3 muy positivo.

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 imagen

binaria. Para el caso de un píxel, la distancia está basada en la métrica 4 u 8 definida como:

𝑑4((𝑖, 𝑗), (ℎ, 𝑘)) = |𝑖 − ℎ| + |𝑗 − 𝑘|

Ecuación 6: Distancia 4 o distancia de bloque de ciudad.

𝑑8((𝑖, 𝑗), (ℎ, 𝑘)) = max(|𝑖 − ℎ|, |𝑗 − 𝑘|)

Ecuación 7: Distancia 8 o distancia de tablero de ajedrez.

Page 37: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 23

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 rea-

lizar 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 segundas

derivadas, y características geométricas como el volumen o la longitud. Para el desarrollo del

proyecto se utilizó una característica importante de los voxeles para identificar candidatos,

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 estructuras 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 efecto de

volumen parcial). Lo anterior corresponde a una variación local de valores de Hounsfield, 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 cierre (dila-

tación seguida de una erosión) y el segundo corresponde a la resta del volumen original con

el volumen luego del cierre.

Page 38: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 24

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 estructuras tu-

bulares y esféricas, con el fin de reducir el área de búsqueda. Finalmente se analizan los com-

ponentes conectados para poderlos clasificar de acuerdo a características propias de los ém-

bolos 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 puntos

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 ope-

rativos como Windows, Linux y MacOS. Además teniendo en cuenta la temática de procesa-

miento de imágenes y visualización de imágenes médicas, se decidió usar dos bibliotecas es-

pecializadas 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 integración con

VTK [43] y además es de uso libre.

Teniendo en cuenta que para esta aplicación se requiere poca memoria, alto procesamiento

y además no es necesario aspectos de seguridad, es necesario el uso del lenguaje de progra-

mación C++, aprovechando la ventaja, que las tres bibliotecas mencionadas anteriormente

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).

Page 39: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 25

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 únicamente

por medio de los periféricos de la pantalla, el teclado y mouse, además teniendo en cuenta

las limitaciones, el sistema debe estar desarrollado a partir de una arquitectura de MVC (Mo-

delo – 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 interacció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 den-

tro 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 histograma

de la imagen de entrada, ya que es importante para el análisis de la imagen en cuanto a iden-

tificació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 realizó

una descripción de los requerimientos teniendo en cuenta los casos de uso, ya que estos des-

criben la interacción que debe tener el usuario con el sistema, demostrando los límites y fun-

cionalidades que éste tiene [14]. Los casos de uso principales, descritos en esta etapa de aná-

lisis son los siguientes:

Page 40: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 26

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.

5.1.7. Ver segmentación de vasos.

5.1.8. Ver intensidad.

5.1.9. Ver segmentación de intensidad.

Page 41: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 27

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 requeri-

mientos funcionales y 7 requerimientos no-funcionales (Ver Anexo SRS).

5. Modelo de dominio

Con la descripción de los casos de uso y de los requerimientos, se pensó en una primera im-

plementación del sistema, teniendo en cuenta las funciones que debe proveer y además que

Page 42: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 28

tiene que cumplir con aspectos de una arquitectura MVC. A continuación se muestra el dia-

grama de modelo de dominio, el cual se realizó con el fin de modelar los conceptos más rele-

vantes 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].

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, mientras

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 requeri-

mientos obtenidos durante esta fase, se realizaran las siguientes pruebas descritas a conti-

nuación:

- 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].

Page 43: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 29

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 sis-

tema [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. Ini-

cialmente 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, incluyendo las

que ya se habían realizado y por supuesto las nuevas [14]. Esta prueba está directa-

mente relacionada con la prueba de componentes la cual debe realizarse para probar:

funciones individuales o métodos dentro de todos los objetos, las clases en sus atri-

butos y métodos, componentes compuestos formados por diferentes objetos y fun-

ciones [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 compo-

nentes ya probados.

- PRUEBAS DE ENTREGAS: se realizarán pruebas de entregas, que se refieren al proceso

de probar una entrega del sistema que será distribuida a los clientes, también se co-

noce como prueba funcional ya que con ella solamente se buscará verificar el cumpli-

miento de requerimientos y de funciones del sistema descritos en la fase de 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].

Page 44: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 30

Para esta prueba se verificarán los resultados obtenidos a partir de diferentes esce-

narios como por ejemplo: elegir entradas que fuerce a errores del sistema, repetir

muchas veces la misma entrada, forzar a salidas invalidas, forzar resultados dema-

siado grandes o demasiado pequeños, y verificar los resultados finales bajo condicio-

nes 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 realizarla so-

bre 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 actividad, recuerdo

(que tanto recuerda el usuario la aplicación después de un tiempo de no usarla) y la

respuesta emocional del usuario [47].

Page 45: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 31

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 usuario

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] (Vista),

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 reem-

plazo 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 pro-

vocados 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 entradas que se

presentan [50].

Page 46: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 32

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), propios

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 arquitectura

soporta la actualización automática de los filtros cuando hay un cambio en la entrada 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 implemen-

tación de la interfaz gráfica. Se tiene además un componente de “recursos”, que contiene los

Page 47: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 33

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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, ta-

maños en mm de los píxeles, separación en

mm de cada corte o slice, entre otros), e in-

cluso para tener la imagen en memoria y

poderla visualizar se utilizan métodos y cla-

ses de la biblioteca de ITK.

Page 48: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 34

Aplicación – VTK API de VTK [54]. Para realizar la visualización en 2D de las

imágenes, visualizar volúmenes, interaccio-

nes del usuario con las imágenes y volúme-

nes, también para visualizar diferentes ti-

pos 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 me-

diante 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 en-

trada 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].

Page 49: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 35

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

ImageProcessingUtils: contiene los métodos que si bien no son un filtro, son útiles

en el procesamiento de imágenes.

Vista

Dentro de la vista se pueden encontrar dos tipos de objetos, aquellos que generan una nueva

ventana (TridimensionalForm, HistogramForm), y aquellos que aparecen como un panel den-

tro de la ventana principal (VolumetricForm, AlgorithmForm, DicomDataForm, FourPanel-

Form) 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álisis

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 importan-

tes, 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, me-

diante 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.

Page 50: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 36

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 coordina

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 tratarse

de una arquitectura MVC el paso de mensajes entre componentes del sistema es el mismo

(para mayor detalle Ver Anexo de SDD).

Page 51: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 37

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 “vista”,

la cual pide los datos necesarios al coordinador para dar una respuesta a la petición del usua-

rio. 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 requiere

de VTK ni de QT, de esa forma cada componente puede construirse por separado, y el con-

trolador, 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 - QT QVTKWidget Biblioteca encargada de gestionar ventanas de VTK

en una interfaz gráfica creada con QT.

Page 52: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 38

GetInteractor()

Obtiene un apuntador del objeto Interactor con el

que se pueden obtener y cambiar características de

los datos a visualizar.

GetRenderWindow()

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::Image-

ToVTKImageFilter

<ImageType>

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 modelos

en tres dimensiones de las estructuras principales del pulmón, pudiendo observar también

Page 53: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 39

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

las regiones candidatas y su ubicación en el espacio. A continuación se muestra el algoritmo

que se desarrolló para lograr dicho objetivo.

Figura 20: Algoritmo para detección de candidatos.

Page 54: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 40

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 cum-

plieran 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 de-

bidas a la física (endurecimiento del haz de rayos, volumen parcial, escases de fotones, mues-

treo 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 adquisición

de la imagen (fallo en hardware o software, fallo en la comunicación del equipo de tomografí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 anteriores variables, se

decidió utilizar un filtro mediana, que tiene como objetivo suavizar la imagen, 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 kernel que se utiliza para

realizar el procedimiento [29], y es una variable que debe ser seleccionada por el usuario del

sistema, teniendo en cuenta que entre más grande sea el radio, mayor tiempo tardará el filtro

en ejecutarse y en obtener un resultado.

Page 55: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 41

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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]. Tam-

bién se tiene en cuenta los valores de la imagen con la que se está trabajando, observando

los valores de gris dentro de los pulmones y seleccionando el mínimo y el máximo aproxi-

mado, para el caso de las imágenes trabajadas se obtuvo un rango entre [-2000, -500] apro-

ximadamente. 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” obtenidos du-

rante la segmentación [26]. El anterior procedimiento fue realizado en base al método 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 di-

mensiones de esta estructura, y además se necesita para eliminar el ruido de la imagen 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ó des-

pué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 segmen-

tados, dicha región corresponde al mediastino. Al igual que con la segmentación de los pul-

mones, se hace una operación morfológica de apertura con el fin de obtener una segmenta-

ción suave y de eliminar regiones o abrir huecos que puedan pertenecer a los pulmones [26].

Page 56: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 42

Tanto el procedimiento de obtención del mediastino como de suavizado de la segmentación,

se realizó de acuerdo al procedimiento descrito por Bouma [41]. También se realiza un pro-

cedimiento de umbralización con el fin de quitar estructuras de huesos como la columna ver-

tebral 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 intensidad de los voxe-

les 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 etique-

tado 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 mediastino, este procedi-

miento además elimina regiones separadas que surgen luego del procedimiento de umbrali-

zación. Tanto el procedimiento que tiene como objetivo eliminar las estructuras correspon-

dientes 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 vo-

lumen sobre el cual se realizará el algoritmo, para ello se obtiene una imagen de interés bina-

ria que no es más que la unión (operación lógica OR) entre la imagen segmentada de los pul-

mones 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 crea-

ció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 algo-

ritmo de Bouma [41] y además tiene su respectiva implementación, sin embargo se utilizó un

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.

Page 57: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 43

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

Teniendo la nueva imagen en escala de grises, usando la región de interés, se realiza un algo-

ritmo que realza las estructuras tubulares. Para ello, se obtiene primero la matriz Hessiana

que es principalmente una matriz de segundas derivadas en cada voxel y que representa va-

riaciones de intensidad local de segundo orden. Luego se obtienen los valores propios de di-

cha 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 coe-

ficientes 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 fragmentadas queden de

forma continua. Esos parámetros corresponden a 𝛼1 𝑦 𝛼2, donde 𝛼1 < 𝛼2 y que fueron ele-

gidos basándose en las pruebas realizadas por Sato [38], donde los valores finales correspon-

den a 𝛼1 = 0.5 𝑦 𝛼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 tomografí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 tu-

bulares se muestran en gris, aumentando su intensidad hacia el centro de las mismas, mien-

tras las demás estructuras aparecen con un valor de 0, posibilitando la segmentación de esta

imagen.

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 imagen

segmentada de los pulmones y la imagen segmentada de los vasos, dando como resultado la

Page 58: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 44

región dentro de los pulmones que no son vasos. Este último procedimiento se realiza te-

niendo 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 carac-

terí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 pri-

mero obtienen una imagen en escala de gris para después realizar una segmentación por um-

bralizació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 propuesto por Bouma

[41], sin embargo la elección de los umbrales se dejaron a elección del usuario, teniendo en

cuenta que el sistema es semiautomático y además que las imágenes de tomografía compu-

tarizada 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úsqueda,

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 ate-

nuación son usualmente más altos para nódulos benignos que para los malignos, 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 falsos 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.

Page 59: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 45

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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.9 𝑚𝑚 ya que es la

escala 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:

𝐶𝜆1 = {

𝜆1, 𝜆1 > 0𝜆3, 𝜆1 ≤ 0 𝑦 𝜆2 > 0 𝑦 𝜆3 > 00, 𝐶𝑢𝑎𝑙𝑞𝑢𝑖𝑒𝑟 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜

Ecuación 8: Valor de coeficiente 𝝀𝟏 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:

𝑉𝑜𝑢𝑡 = (𝑉𝑖𝑛 − 𝐼𝑚𝑖𝑛) ∗𝑂𝑚𝑎𝑥 − 𝑂𝑚𝑖𝑛

𝐼𝑚𝑎𝑥 − 𝐼𝑚𝑖𝑛+ 𝑂𝑚𝑖𝑛

Ecuación 9: Mapeo de intensidad de valores para re-escalar los valores de intensidad de

una imagen

Donde 𝑉𝑜𝑢𝑡 es el valor de intensidad del voxel de salida, 𝑉𝑖𝑛 es el valor de intensidad del voxel

de entrada, 𝐼𝑚𝑖𝑛 es el mínimo valor de intensidad presente en la imagen de entrada, 𝐼𝑚𝑎𝑥 es

el máximo valor de intensidad presente en la imagen de entrada, 𝑂𝑚𝑖𝑛 es el valor de intensi-

dad mínimo de la imagen de salida (0) y 𝑂𝑚𝑎𝑥 es el valor de intensidad máximo de la imagen

de salida (255) [61].

Page 60: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 46

Finalmente se escoge un valor de umbral para realizar la segmentación, el cual se elige obser-

vando la imagen obtenida luego del re-escalamiento, y seleccionando un valor que se encuen-

tre 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 producirse

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 realizado 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ó, finalmente, 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 aproximado

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 ob-

tener 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 adicio-

nal, y debido a que en las segmentaciones aparecen estructuras del borde del pulmón 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.

Page 61: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 47

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 usua-

rio 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 menú,

por ello la primera actividad fue la creación de ellos (para ver más información sobre funcio-

nes del sistema Ver anexo Manual de Usuario).

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

Page 62: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 48

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 algo-

ritmo, mientras que la de modelo en 3D se habilita al momento de segmentar los pulmones.

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.

2. Forma de 4 vistas

Figura 24: Diseño del panel de 4 vistas

Page 63: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 49

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

Esta forma (Form) corresponde a un panel (widget) de la ventana principal, en él se agregaron

3 recuadros iguales con el fin de colocar en cada uno una vista, ya sea sagital, coronal o trans-

versal. 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 deslizadora 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 cambios en el corte

de cualquiera de las tres vistas, no se implementó en este recuadro el control de selección de

corte, sino que se colocó un botón el cual deja los cortes de las tres vistas por defecto (corte

central en todas las vistas).

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 seleccionada

Page 64: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 50

se hace visible. Si no hay ningún otro panel activo, se puede visualizar la vista en toda la ven-

tana.

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 (color

de fondo oscuro resaltando el ícono) para indicarle al usuario en cual opción se encuentra

actualmente. Los paneles de las otras tres vistas, se ocultan, mientras que la vista seleccio-

nada 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

Page 65: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 51

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 blo-

queada hasta que la ventana hija se cierre) y se obtienen los datos del histograma del coordi-

nador ú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 selección de lími-

tes 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 intensi-

dad 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 histograma, 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

Page 66: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 52

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 opció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 dere-

cha se muestra el panel de 4 vistas.

El panel de algoritmo fue diseñado en dos partes, la parte superior corresponde a la selecció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, excepto

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.

Page 67: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 53

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 informa-

ción del paciente y de la imagen DICOM leída, datos que son obtenidos a través del coordina-

dor y del encabezado de la imagen.

6. Forma de volumetría

Figura 30: Diseño de la forma de la herramienta de volumetría

Page 68: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 54

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 encuen-

tra 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 esfera, que vista

en un corte de dos dimensiones se ve como un círculo.

Figura 31: Localización de región candidata en 2D

Page 69: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 55

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 so-

bre la imagen obtenida, con el fin de obtener un modelo tridimensional que será mostrado

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

Page 70: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 56

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 mostrar 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 siguientes

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 problemas

Page 71: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 57

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

encontrados. La integración del sistema en su totalidad, implicó identificar grupos de compo-

nentes que proporcionan alguna funcionalidad del sistema e integrar éstos añadiendo código

para hacer que funcionen conjuntamente. Se tuvo en cuenta la integración descendente 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 fun-

cionales 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 desa-

rrollar código adicional que no se encuentra dentro del código fuente de la aplicación entre-

gada.

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, verificando

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. Inicialmente

se crearon los componentes del modelo (Ver anexo SDD), y a medida que se necesitaban fil-

tros 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 aplicación” y

finalmente cada vez que se avanzaba en el algoritmo se iba desarrollando código fuente adi-

cional (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.

Page 72: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 58

Identificador Imagen Descripción

00_ImageIn

Imagen 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. Efectivamente se

observa una imagen binaria con

un valor de 1 lógico en el área

del pulmón.

02.2_LungsClosing

En este ejemplo poco se nota el

resultado del cierre, ya que la

imagen obtenida en el anterior

paso es compacta y no tiene

huecos para cerrar. Solo se ve el

cierre hacia la mitad de la ima-

gen en una región que aparece

casi separada del pulmón.

Page 73: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 59

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

03.1_Mediastinum

La imagen muestra la segmen-

tación del mediastino sin la re-

gión de la columna vertebral.

03.2_MediastinumOpening

Al hacer la apertura se abren re-

giones que tengan huecos.

Luego se hace un etiquetado de

regiones para eliminar regiones

pequeñas.

05.0_InterestRegion

La región de interés para reali-

zar el algoritmo de Vesselness

corresponde a la unión de la

segmentación de los pulmones

y del mediastino.

05.4_MaskedLung

La imagen enmascarada corres-

ponde a la imagen original, to-

mando como válidos única-

mente los voxeles de la imagen

de región de interés.

05.5_VesselsGray

La salida del algoritmo de

realce de vasos (Vesselness), da

como resultado el árbol bron-

quial y estructuras tubulares en

escala de gris dentro del área

de interés.

Page 74: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 60

05.6_VesselSegmentation

La segmentación del árbol

bronquial es simplemente una

umbralización de la imagen ob-

tenida en escala de grises.

05.7_InterestRegion2

La región donde se buscarán

nódulos candidatos corres-

ponde a la región dentro de los

pulmones excluyendo el árbol

bronquial.

06.1_LocalContrast

Imagen luego de realizada la

operación de apertura.

06.2_LocalContrastDiff

La imagen de contraste local

corresponde a la salida de un

top-hat, por tanto resalta los

puntos que son claros y a su al-

rededor hay regiones oscuras.

Las regiones más blancas cum-

plen con esa característica.

Page 75: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 61

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

06.3_ThresholdLocalContrast

Imagen luego de segmentar

con un umbral definido. Apare-

cen regiones que son blancas

rodeadas por una región más

oscura.

07.1_EigenValueLambda1

Imagen de valores propios mo-

dificada, donde se realzan es-

tructuras tubulares o esféricas

oscuras.

07.2_ThresholdEigenValue

Segmentación de las regiones

que aparecen como puntos ne-

gros en la imagen de criterio de

Lambda 1.

08.1_MaskedLungVessel

Imagen en escala de gris del

área de búsqueda.

08.2_ThresholdIntensity

Segmentación por umbraliza-

ción de la imagen de intensi-

dad. Efectivamente hay una

segmentación que contiene las

regiones que se encuentran

Page 76: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 62

dentro del umbral seleccio-

nado.

09.1_UnionThreshold

Región de candidatos que co-

rresponde a la intersección de

las imágenes obtenidas por la

segmentación por umbraliza-

ción. Contiene las regiones can-

didatas a nódulos que son veri-

ficadas en la prueba de entrega.

09.2_UnionEdges

Región de candidatos elimi-

nando el borde. Se puede ob-

servar que desaparecen algu-

nas regiones que se encuentran

sobre el borde.

10.0_EdgeLungs

Borde o contorno del pulmón

claramente definido.

10.1_EdgesDilated

Al hacer una dilatación de la

imagen de bordes, se obtiene

un borde más grueso depen-

diendo del radio del elemento

estructurador.

Page 77: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 63

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

2. Pruebas de entrega

El desarrollo de esta prueba quizás fue la más importante, ya que con ella se busca garantizar

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 en-

trada 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ágenes corres-

ponden a los datos de entrada del algoritmo.

Figura 35: Imagen de TAC con nódulos etiquetados [57]

Page 78: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 64

- La idea fundamental de la prueba es: comparar las coordenadas donde se encuentran

cada uno de los nódulos que están en la imagen etiquetada, con esas mismas coor-

denadas en la imagen de regiones candidatas obtenida con el algoritmo, y verificar si

están dentro de las regiones segmentadas.

- Si las coordenadas están dentro de alguna de las regiones segmentadas en la imagen

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 dife-

rente para cada imagen y está determi-

nado 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.

Page 79: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 65

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

Radio de apertura de

mediastino.

6.0/TamPixel

(6.0mm)

Valor dado por el algoritmo de Bouma

[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 estructuras tu-

bulares.

Valor de 𝛼1 y 𝛼2 para

el procedimiento de

realce de estructuras

tubulares.

𝛼1= 0.5 , 𝛼2=2.0 Valores 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.9 Valor 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

bothat.

Rerosion =

4.0/TamPixel,

Rdilatacion =

6.0/TamPixel

Valores máximos de radios usados, te-

niendo en cuenta un tiempo razonable de

ejecución del algoritmo.

Page 80: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 66

Intervalo de umbral

de imagen de candi-

datos (contraste lo-

cal)

[400, Máximo va-

lor de intensidad

en la imagen]

Valor dado al analizar la intensidad de las

regiones con realce donde que podrí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 re-

sultados:

TAC

Nódulos en imagen etique-

tada Nódulos en ima-

gen obtenida Falsos negativos

Porcen-taje 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

Page 81: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 67

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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, cal-

cificados o que están muy alejados de las paredes pulmonares o del medias-

tino, esto puede deberse al tamaño del kernel utilizado en el filtro del proce-

dimiento de contraste local, que se usó como criterio para encontrar los can-

didatos, ya que dicho valor representaba el tamaño máximo de las estructu-

ras 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 can-

didatas de la imagen de salida que no corresponden a un nódulo en la imagen 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 corresponden a un

posible nódulo) y se compararon con el número de nódulos etiquetados 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-

vos

3 10317 7 10310

4 49981 23 49958

6 31991 9 31982

7 68801 2 68799

8 169732 6 169726

9 79270 8 79262

10 14997 7 14990

11 37705 9 37696

Page 82: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 68

12 16005 19 15986

13 35702 11 35691

15 24550 11 24539

18 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 en-

contrar regiones que pertenezcan a un conjunto, con una serie de caracterís-

ticas 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 con-

torno 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 notable en la ob-

tención de falsos positivos entre los resultados de la tomografía 18 y las de-

má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.

Page 83: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 69

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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 he-

rramientas 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 pregun-

tas tenía que ver con la percepción de utilidad, la segunda presentaba unas afirmaciones so-

bre la aplicación y el usuario debía seleccionar si estaba o no de acuerdo con dichas afirma-

ciones, y la tercera serie eran preguntas abiertas sobre la opinión general de los calificadores

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 cualquier

comentario que tuvieran de cada uno de los ítems.

Para el desarrollo de estas pruebas fueron seleccionados tres perfiles de usuarios que se des-

criben 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.

Page 84: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 70

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 Promedio

1. ¿Es de utilidad la aplicación? 5 5 4 4,7

2. ¿Es útil el uso de las opciones de visualización de cada una de las 3 vistas coronal, transversal, sagital? 5 4 5 4,7

3. ¿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,0

4. ¿Es útil la visualización de datos de la imagen DICOM y de pa-ciente en el panel de "Data"? 4 3 5 4,0

5. ¿Es útil la ventana de histograma? 5 3 3 3,7

6. ¿Es útil el uso de máscaras en la visualización del histograma? 4 3 4 3,7

7. ¿Es útil el uso de controles para visualizar el rango de valores deseado en la ventana de histograma? 5 5 4 4,7

8. ¿Es útil el cambio de tipo de grafico en la venta de histograma? 5 3 4 4,0

9. ¿Es útil poder visualizar las imágenes que ya se han hecho en el algoritmo? 5 5 5 5,0

10. ¿Es útil pedir el radio de la mediana al usuario? 5 3 4 4,0

11. ¿Es útil recortar la imagen en el procedimiento de obtención de mediastino? 5 2 4 3,7

12. ¿Es útil el control para seleccionar el umbral de cada una de las imágenes para encontrar candidatos? 5 3 4 4,0

13. ¿Es útil la herramienta de volumetría? 5 5 5 5,0

14. ¿Es útil ver la localización en dos dimensiones del candidato seleccionado? 4 5 5 4,7

15. ¿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,7

16. ¿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,7

17. ¿Es útil poder cambiar la opacidad de cada una de las imáge-nes en la herramienta "3D View"? 5 2 5 4,0

Page 85: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 71

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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ágenes,

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 generalmente.

- 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 procedi-

miento 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 Promedio

1. El sistema en general es de fácil uso. 4 4 4 4,0

2. Los iconos de la barra de herramientas son intuitivos y le dicen que función cumple cada uno. 4 4 5 4,3

3. El color, tamaño y forma de los iconos es adecuado. 5 4 5 4,7

3. La visualización de colores (RGB) en el fondo de cada uno de los planos, ayuda a reconocerlos fácilmente. 5 4 5 4,7

4. El uso de los controles de cambio de corte en cada uno de los planos es preciso e intuitivo. 5 5 5 5,0

5. El cambio en el contraste de la imagen usando el mouse es de fácil uso. 5 5 5 5,0

6. 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

Page 86: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 72

7. La organización de las 4 vistas (sagital, coronal, transversal y volumen) es agradable. 5 5 5 5,0

8. La organización de los botones, cuadros de texto y etiquetas es agradable en el panel de Algoritmo. 5 5 5 5,0

9. La organización de los botones para observar cada una de las imágenes es la correcta. 5 3 5 4,3

10. Es intuitivo realizar paso a paso el algoritmo sin cometer erro-res. 3 5 3 3,7

11. 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,0

12. 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,0

13. El uso de la opacidad en la herramienta "3D View" le ayuda a identificar mejor las estructuras. 5 3 5 4,3

14. 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,7

15. El uso de la herramienta de histograma le ayuda a identificar umbrales para seleccionar en el desarrollo del algoritmo. 5 3 4 4,0

16. La interacción que tiene con la imagen es intuitiva. 4 5 4 4,3

17. 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 come-

ter errores en la ejecución del mismo. Puede ser más intuitivo y tener mejores herra-

mientas 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.

Page 87: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 73

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

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. Algunos 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 ob-

tener 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 mu-

chos de los filtros usados para el procesamiento de imágenes tienen un tiempo de

Page 88: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 74

ejecución muy largo, y hay otros que tienen un costo computacional muy alto, lo 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 prio-

ridad 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 eje-

cució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 compu-

tacional demasiado alto. Por tal razón se decidió utilizar un kernel relativamente pe-

queño, con resultados buenos al momento de encontrar nódulos pulmonares peque-

ños, sin embargo, nódulos grandes y calcificados no fueron encontrados por el algo-

ritmo realizado con los parámetros dados, lo cual lleva a pensar que debido a lo an-

terior, 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 tamañ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 de-

talladamente 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 pulmón,

el árbol bronquial y las regiones candidatas, es algo que es considerado como muy

útil e importante en el tema de imágenes médicas, ya que ello provee información

Page 89: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 75

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

valiosa de las diferentes estructuras de interés, además de ser un procedimiento to-

talmente intuitivo tanto para el medico como para el paciente. Se espera que en fu-

turos trabajos se dé mayor importancia a la interacción que se tiene con estas imáge-

nes, 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 funcio-

nes. Se espera poder desarrollar un clasificador que reduzca notablemente la canti-

dad de candidatos, para de esa forma poder ver un valor agregado de éstas herra-

mientas.

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. Tema-

rio 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://amide.sourceforge.net/. [Accedido: 30-abr-2015].

[9] «ITK-Snap HomePage». [En línea]. Disponible en:

http://www.itksnap.org/pmwiki/pmwiki.php. [Accedido: 30-abr-2015].

Page 90: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 76

[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 desarrollo

de software Adding fuzzy queries to software development», Rev. Av. En Sist. E Informát-

ica, vol. 6, n.o 3, 2009.

[12] T. Stober y U. Hansmann, Agile Software Development: Best Practices for Large Software

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.

Thomson, 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., Tendencias

en redes de altas prestaciones. Cuenca: Ediciones de la Universidad de Castilla-La Man-

cha, 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. Buenos

Aires: Edit. Médica Panamericana, 2003.

[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.

Page 91: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 77

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

[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 Edició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]. Disponi-

ble en: http://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/MarchingCu-

bes.svg/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 medical im-

ages», en CVRMed-MRCAS’97, 1997, pp. 213–222.

[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.

Page 92: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 78

[41] H. Bouma, J. J. Sonnemans, A. Vilanova, y F. A. Gerritsen, «Automatic detection of pul-

monary 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.itk.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áctico.

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, Pri-

mera. 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/Do-

xygen47/html/index.html. [Accedido: 06-abr-2015].

[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.

Page 93: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 79

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

[57] «Public Lung Image Database». [En línea]. Disponible en: http://www.via.cornell.edu/da-

tabases/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/clas-

sitk_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/signal-

sandslots.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 Ca-

talunya, 2002.

[68] E. D. Frank, B. W. Long, B. J. Smith, P. W. Ballinger, y V. Merrill, Merrill atlas de posi-

ciones radiográficas y procedimientos radiológicos. Barcelona: Elsevier, 2010.

[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.

Page 94: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 80

[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 Publishers,

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, Polynomial

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].

Page 95: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 81

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

X – ANEXOS

Anexo 1. Glosario

Ajuste de contraste: es una operación de punto cuya tarea es modificar los píxeles de tal

forma que el rango de valores sea cubierto totalmente [64].

Arquitectura MVC: Patrón que permite separar la interfaz gráfica de usuario, de los datos y

de la lógica apoyándose en tres componentes: modelo, vista y controlador [50].

Arquitectura Pipeline: una tubería (pipeline) conecta componentes (filtros) por medio de co-

nectores (pipes), de modo que los datos se procesan y ejecutan a manera de flujo. Los datos

se transportan a través de las tuberías entre los filtros, transformando gradualmente las en-

tradas en salidas [65].

Artefacto: los artefactos son densidades ópticas no deseadas o defectos en una radiografía o

en cualquier otra imagen médica [66].

Componente: objetos físicos que existen en tiempo de ejecución o de compilación, tienen

una identidad propia o interfaz bien definida, pueden ser códigos fuente, ejecutables, biblio-

tecas, imágenes, documentos, manuales, etc [67].

Controlador: Responde a eventos provocados por el usuario que implican cambios en el mo-

delo y la vista, dando una correcta gestión a las entradas de usuario [50].

Coronal (plano): plano que divide a todo el cuerpo en segmentos anterior y posterior. El plano

atraviesa el cuerpo en vertical desde un lado al otro y discurre verticalmente a través del

cuerpo desde un hombro hasta el otro [68].

Curvilíneo: Objeto que está limitado por líneas curvas [69].

Page 96: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 82

Escalamiento: es un tipo de transformación geométrica que altera el tamaño de un objeto.

Se lleva a cabo mediante la multiplicación de todos los puntos o coordenadas de un objeto

por un factor de escala [70].

Espacio euclidiano (o lineal): es un espacio lineal dotado de un producto escalar [71].

Espacio vectorial: es el conjunto de cantidades A, B, C,…, para las cuales las operaciones de

adición y multiplicación por un escalar real están definidas [71].

Imagen Médica: colección de medidas o valores en el espacio bidimensional (2D) o tridimen-

sional (3D). Dichas medidas o intensidades de imagen son la absorción de radiación de rayos

X, son adquiridas en el dominio continuo (para este proyecto en particular). La posición de

cada medida se conoce como píxel en imágenes 2D y en imágenes 3D se le llama voxel [72].

Imagenología: es el conjunto de técnicas y procedimientos con el fin de obtener imágenes del

cuerpo con fines clínicos o científicos. Las imágenes obtenidas frecuentemente tienen un ca-

rácter fisiológico, antes que anatómico [3].

ITK: Insight Segmentation and Registration Toolkit, es una biblioteca de código abierto multi-

plataforma que provee herramientas para el análisis de imágenes [42].

Kernel: a menudo llamado máscara; es una matriz o sub-imagen con tamaño igual al de la

vecindad que tiene los pesos o información que será procesada, el tamaño de esta ventana

es dado como parámetro. Los procedimientos de filtrado se hacen mediante el posiciona-

miento sucesivo del kernel, recorriendo toda la imagen, y cuyo valor de salida será el píxel o

voxel central de la matriz [73].

Mediastino: Es el espacio entre las cavidades pleurales que ocupan el centro de la cavidad

torácica donde están contenidos el corazón, los grandes vasos, el esófago, la tráquea y su

bifurcación, el timo, el conducto torácico, los ganglios linfáticos, y los nervios frénico y vago

[74].

Modelo: Representación de los datos y reglas de negocio [50].

Page 97: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 83

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

Nódulo Pulmonar Solitario (NPS): masa pulmonar menor de 3 cm de diámetro, puede cons-

tituir un hallazgo incidental y comúnmente representa un tumor benigno [75].

Píxel: representa la unidad de información de una imagen en dos dimensiones [76].

QT: biblioteca multiplataforma para desarrollar aplicaciones con interfaz gráfica de usuario

[44].

Rotación: es un tipo de transformación geométrica que se obtiene mediante la recolocación

de un objeto a lo largo de una trayectoria circular sobre un plano, en un eje de rotación que

es perpendicular a dicho plano. Los parámetros para realizar una rotación son el ángulo de

rotación y una posición en el espacio que será el pivote [70].

Sagital (plano): plano que divide todo el cuerpo o una parte del mismo en segmentos derecho

e izquierdo. El plano discurre verticalmente a través del cuerpo desde la frente hasta la es-

palda [68].

SDD: Software Design Descriptions (Descripción del Diseño de Software) [77].

Segmentación: partición de una imagen en regiones que pueden o no tener un significado

relativo a la escena respectiva [78].

TAC: Tomografía que utiliza el tomógrafo axial computarizado; también se denomina tomo-

grafía asistida por computadora [79].

Tomógrafo: Aparato de rayos X ideado para obtener radiografías seccionales (tomogramas)

del cuerpo [79].

Translación: es un tipo de transformación geométrica de solido-rígido que mueve objetos sin

deformarlos, es decir, cada punto de un objeto es trasladado (movido), de un punto a otro en

la misma medida [70].

Page 98: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 84

Transversal (plano): plano que atraviesa el cuerpo en perpendicular al eje longitudinal. Dis-

curre perpendicular a los planos sagital y coronal, y divide el cuerpo en porciones superior e

inferior. Se define también como plano horizontal, axial o de sección [68].

Vecindad: espacio donde se encuentran todo los vecinos de un píxel o voxel. En dos dimen-

siones existe vecindad de 4 y de 8, mientras que en tres dimensiones existe vecindad de 6 y

26 [80].

Vecinos (de un voxel): dos voxeles son vecinos si son adyacentes. Si comparten una de sus

fronteras son llamados vecinos directos, si solo se tocan en una esquina son llamados vecinos

indirectos [80].

Vista: Permite mostrar la información del modelo en un formato adecuado que permita la

interacción del usuario [50].

Volumen parcial: artefacto que ocurre cuando un objeto denso se sitúa parcialmente en el

trayecto del haz de rayos, es detectado solo en algunas proyecciones, lo cual produce sombras

en la imagen reconstruida, y puede ser evitado con cortes finos [81].

Voxel: (o píxel volumétrico), es un elemento de volumen y representa un valor en una malla

regular, en un espacio de tres dimensiones, es análogo al píxel [76].

VTK: Visualization Toolkit, es una biblioteca de código abierto multiplataforma, que provee

herramientas y algoritmos para hacer visualización de datos [43].

Page 99: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 85

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

Anexo 2. Partes del estándar DICOM [82]

El estándar DICOM esta descrito en diferentes partes que son presentadas en diferentes do-

cumentos, las partes que componen dicho estándar son:

- Parte 1: Introducción y vista general.

- Parte 2: Conformidad.

- Parte 3: Definición de objetos de información.

- Parte 4: Especificaciones de clases de servicio.

- Parte 5: Semántica y estructura de datos.

- Parte 6: Diccionario de datos.

- Parte 7: Intercambio de mensajes.

- Parte 8: Soporte de comunicación de red para intercambio de mensajes (protocolos

de red).

- Parte 9: Soporte de comunicación punto a punto para intercambio de mensajes (Pro-

tocolo punto a punto del ARC-NEMA 2.0, versión anterior a DICOM).

- Parte 10: Medios de almacenamiento y formatos de ficheros para intercambio multi-

media.

- Parte 11: Perfiles de aplicación.

- Parte 12: Formatos de medios de comunicación y medios físicos para el intercambio

de datos multimedia.

- Parte 13: Administración de impresión en soporte de comunicaciones punto a punto.

- Parte 14: Escala de grises y estándar y función de visualización.

- Parte 15: Seguridad y sistemas de gestión de perfiles.

- Parte 16: Recursos de mapeo.

- Parte 17: Información explicativa.

- Parte 18: Acceso a web de Objetos Persistentes DICOM (Web Access to DICOM Per-

sistent Objects – WADO).

- Parte 19: Aplicación de Hosting.

- Parte 20: Transformación de DICOM hacia y desde estándares HL7.

Page 100: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 86

Se debe tener en cuenta que aunque las partes del estándar están relacionadas entre sí,

todas ellas se encuentran en documentos independientes, lo cual facilita la actualización

de uno sin afectar a los demás.

Page 101: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 87

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

Anexo 3. Diccionario de datos del estándar DICOM [83]

El diccionario de datos aporta el registro de los identificadores únicos, representaciones de

valor, etiquetas de atributos y multiplicidad de valores de la información que representan eso

datos. En el documento de diccionario de datos del estándar DICOM, se define a una etiqueta

(TAG) como un identificador único para un elemento de información, compuesto de un par

de números ordenado (un número de grupo, seguido por un número de elemento), los cuales

son usados para identificar atributos que corresponden a elementos de datos. En la siguiente

tabla se describen algunos datos importantes para el proyecto.

TAG - Eti-queta

Atributo Descripción

(0008,0008) Tipo de imagen

(0008,0012) Fecha de creación de la instan-

cia

(0008,0013) Hora de creación de la instancia

(0008,0022) Fecha de adquisición

(0008,0060) Modalidad Tipo de equipo que originalmente adquirió

los datos

(0008,0070) Fabricante Fabricante de la impresora.

(0008,0090) Nombre del médico de referen-

cia del paciente

(0008,1090) Nombre del modelo del fabri-

cante Nombre del modelo del fabricante de la im-

presora

(0010,0010) Nombre del paciente Nombre completo del paciente

(0010,0020) ID del paciente Número de identificación o código para el

paciente dado por el hospital

(0010,0030) Peso del paciente Peso del paciente en kilogramos

Page 102: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 88

(0010,0040) Sexo del paciente Valores: M =Masculino, F=Femenino, O=Otro

(0018,0020) Opciones del escaneo Parámetros de secuencia de escaneo.

(0018,0050) Espesor de rebanada(slice) Espesor de rebanada (slice) nominal en milí-

metros.

(0018,0060) KVP Salida Pico de Kilo voltaje del generador de

rayos X.

(0018,5100) Posición del paciente Descripción de posición del paciente res-

pecto al equipo.

(0020,0032) Posición de la imagen (Paciente) Coordenadas x, y, z de la esquina superior iz-

quierda (Centro del primer voxel transmi-tido) de la ventana, en milímetros.

(0020,0037) Orientación de la imagen (Pa-

ciente) La dirección coseno de la primera fila y la pri-

mera columna, respecto al paciente.

(0020,0052) Marco de referencia UID Identifica de forma exclusiva el marco de re-

ferencia para una serie.

(0020,1040) Indicador de posición de refe-

rencia Parte de la anatomía del paciente usada

como referencia.

(0020,1041) Ubicación de rebanada (slice) Posición relativa de la exposición expresada

en milímetros.

(0028,0002) Muestras por pixel Numero de muestras (planos) en la imagen.

(0028,0004) Interpretación fotométrica Especifica la interpretación de la información

dada por los pixeles.

(0028,0010) Filas Numero de filas en la imagen.

(0028,0011) Columnas Numero de columnas en la imagen.

(0028,0030) Espaciado de pixel

Distancia física en el paciente, entre el cen-tro de cada pixel, especificado por un par nú-mero, espaciado de fila adyacente-espaciado

de columna adyacente, en milímetros.

Page 103: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 89

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

(0028,0100) Bits asignados Numero de bits asignados para cada muestra de pixel. Cada muestra debe tener el mismo

número de bits asignado.

(0028,0101) Bits almacenados Numero de bits almacenados para cada

muestra de pixel. Cada muestra debe tener el mismo número de bits almacenado.

(0028,0102) Bit alto Bit más significativo para cada muestra de

datos por pixel. Cada muestra debe tener el mismo bit alto.

(0028,0103) Representación de pixel Representación de datos de las muestras de pixel. Cada muestra debe tener la misma re-

presentación de pixel.

Page 104: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 90

Anexo 5. Pruebas de entrega

La finalidad de estas pruebas son verificar el funcionamiento en general del algoritmo, es decir

comprobar el resultado obtenido ante una entrada al sistema. Para esta prueba se trató el sistema

en general como una caja negra, se ingresó una imagen de TAC de tórax de entrada y se obtuvo

una imagen de salida que contiene las regiones candidatas a ser nódulo.

Por otra parte, se revisó la misma imagen de entrada, la cual fue descargada de la base de datos

pública de imágenes de pulmón de ELCAP [57], en la cual se encuentran los nódulos ya eti-

quetados junto con varios comentarios, realizado por varios radiólogos expertos.

A continuación, se ubicaron todos los nódulos etiquetados en la imagen y se compararon las

coordenadas x, y, z de cada uno, con las coordenadas en la imagen obtenida por el algoritmo.

Si en la imagen obtenida por al algoritmo se obtenía una región en la misma coordenada de la

imagen original o cercana a ella, se anotaba la coordenada, si no, se dejaba vacío el espacio de

las coordenadas.

Se debe tener en cuenta que las coordenadas de la imagen del algoritmo están en formato de

VTK, por tanto se debe realizar la siguiente conversión de coordenadas:

𝑥𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑚𝑜 = 𝑥𝑜𝑟𝑖𝑔𝑖𝑛𝑎𝑙

𝑦𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑚𝑜 = 𝑦𝑚á𝑥𝑖𝑚𝑜 − 𝑦𝑜𝑟𝑖𝑔𝑖𝑛𝑎𝑙

𝑧𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑚𝑜 = 𝑧𝑚á𝑥𝑖𝑚𝑜 − 𝑧𝑜𝑟𝑖𝑔𝑖𝑛𝑎𝑙

Donde 𝑦𝑚á𝑥𝑖𝑚𝑜 = 512 en todas las imágenes de esta base de datos y 𝑧𝑚á𝑥𝑖𝑚𝑜 es en número de

cortes transversales de la imagen.

A continuación se muestran los resultados obtenidos para 12 tomografías de diferentes pacien-

tes.

Resultados para TAC 3

Page 105: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 91

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

Imagen original Imagen algo-

ritmo Comentarios

X Y Z X Y Z

6 346 237 23 345 274 226

7 116 233 45 Calcificado

1 137 148 67 140 357 182

2 99 305 76 Muy difuso

3 159 356 80 Calcificado

4 97 340 130 96 177 119

5 391 280 100 391 232 149

- Cantidad de nódulos en imagen original = 7.

- Cantidad de nódulos encontrados en imagen de algoritmo = 4.

Resultados para TAC 4

Imagen original Imagen algo-

ritmo Comentarios

X Y Z X Y Z

3 84 180 102 Alejado de la pleura

2 90 272 65 96 242 178

1 215 175 37 211 332 206

4 308 271 16 Grande

5 294 247 18 301 267 255

Page 106: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 92

6 167 245 18 170 276 225

7 202 223 21 198 290 222

8 325 292 21 325 219 222

9 388 271 26 Muy pequeño, parece de la pleura

10 137 293 35 Calcificado

11 111 299 40 Pequeño y muy difuso

13 159 102 73 159 408 170

14 372 376 78 Grande

15 387 367 82 Alejado de la pleura

16 379 390 87 379 122 156

17 384 100 117 380 413 126

18 440 345 128 442 167 115

19 442 319 132 448 191 126

20 380 291 147 386 225 96

21 453 282 147 453 235 96

22 424 145 150 Pequeño y alejado de la pared

23 52 200 173 Alejado de la pleura

24 97 394 163 96 119 80

- Cantidad de nódulos en imagen original = 23.

- Cantidad de nódulos encontrados en imagen de algoritmo = 14.

Page 107: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 93

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

Resultados para TAC 6

Imagen original Imagen algo-

ritmo Comentarios

X Y Z X Y Z

1 91 238 60 90 273 195

2 132 248 122 Grande

3 172 156 32 170 355 233

4 382 285 44

5 96 230 49 96 282 206

6 159 128 101 159 383 154

7 96 248 114

8 110 258 129

9 73 192 180 73 320 75

- Cantidad de nódulos en imagen original = 9.

- Cantidad de nódulos encontrados en imagen de algoritmo = 5.

Resultados para TAC 7

Imagen original Imagen algo-

ritmo Comentarios

X Y Z X Y Z

1 430 171 148 Pegado a pleura y grande

2 70 224 111 71 228 111

Page 108: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 94

- Cantidad de nódulos en imagen original = 2.

- Cantidad de nódulos encontrados en imagen de algoritmo = 1.

Resultados para TAC 8

Imagen original Imagen algo-

ritmo Comentarios

X Y Z X Y Z

1 186 36 111 181 447 129

2 340 88 46 341 422 129

3 78 279 115 Alejado de la pleura

4 451 155 147 453 357 93

5 183 54 151 181 457 89

6 106 167 49 106 345 191

- Cantidad de nódulos en imagen original = 6.

- Cantidad de nódulos encontrados en imagen de algoritmo = 5.

Resultados para TAC 9

Imagen original Imagen algo-

ritmo Comentarios

X Y Z X Y Z

1 393 301 102 391 206 153

2 99 373 120 99 135 135

3 131 374 99 Alejado de la pleura y difuso

Page 109: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 95

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

4 394 301 102 391 206 135

5 114 332 115 114 180 140

7 433 160 132 431 352 123

9 446 339 156 446 173 99

8 64 352 153 Pequeño y difuso

- Cantidad de nódulos en imagen original = 8.

- Cantidad de nódulos encontrados en imagen de algoritmo = 6.

Resultados para TAC 10

Imagen original Imagen algo-

ritmo Comentarios

X Y Z X Y Z

1 445 326 195 Alejado de la pleura

2 293 200 34 296 313 254

3 392 305 37 393 206 251

4 190 200 39 189 311 249

5 321 175 42 321 337 246

6 188 187 48 188 321 240

9 87 337 136 Muy difuso

- Cantidad de nódulos en imagen original = 7.

- Cantidad de nódulos encontrados en imagen de algoritmo = 5.

Resultados para TAC 11

Page 110: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 96

Imagen original Imagen algo-

ritmo Comentarios

X Y Z X Y Z

1 290 230 41 Grande y pegado al mediastino

2 140 148 38 144 362 205

3 394 254 36

4 128 144 49 130 367 205

5 128 142 55 127 370 188

6 154 119 57 153 394 186

7 137 130 57 137 383 186

8 124 107 95 124 403 148

10 392 214 156 Grande

- Cantidad de nódulos en imagen original = 9.

- Cantidad de nódulos encontrados en imagen de algoritmo = 6.

Resultados para TAC 12

Imagen original Imagen algo-

ritmo Comentarios

X Y Z X Y Z

1 130 313 56 Pegado a pleura

2 112 187 57 110 320 206

3 83 194 199 83 321 64

Page 111: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 97

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

5 392 184 30 392 328 233

6 158 316 45 157 194 218

7 103 269 54 102 242 209

10 383 301 68 Difuso

11 85 260 70 85 252 193

12 130 120 72 129 339 191

13 101 298 74 101 213 189

14 110 306 80 Difuso

15 396 328 87 396 184 176

16 90 303 89 91 208 189

17 149 350 92 149 160 171

18 78 182 94 77 329 169

19 430 273 98 428 238 165

20 422 325 123 Difuso

21 112 359 125 112 153 138

22 133 383 188 Calcificado

- Cantidad de nódulos en imagen original = 19.

- Cantidad de nódulos encontrados en imagen de algoritmo = 14.

Resultados para TAC 13

X Y Z X Y Z

1 293 226 23 296 282 205

Page 112: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 98

2 163 151 64

3 157 207 24 157 307 203

4 129 242 35 128 269 192

5 307 189 38 308 322 189

6 432 200 80 Pequeño y alejado de la pleura

7 432 194 83 430 316 144

8 77 302 95 77 209 132

10 366 130 121 367 378 106

11 200 158 126 200 354 101

12 157 127 142 157 378 85

13 94 359 191 95 154 36

- Cantidad de nódulos en imagen original = 11.

- Cantidad de nódulos encontrados en imagen de algoritmo = 10.

Resultados para TAC 15

Imagen original Imagen algo-ritmo Comentarios

X Y Z X Y Z

1 385 184 73 384 332 176

3 439 217 147 Calcificado

4 254 350 58 Calcificado

7 446 243 147 445 269 102

Page 113: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 99

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

8 446 239 153 Calcificado

9 441 217 153 441 295 96

10 441 143 153 Calcificado

11 404 118 153 401 397 96

12 337 106 153 338 404 96

14 433 158 168 Calcificado

17 435 172 172 Calcificado

- Cantidad de nódulos en imagen original = 11.

- Cantidad de nódulos encontrados en imagen de algoritmo = 5.

Resultados para TAC 18

Imagen original Imagen algo-ritmo Comentarios

X Y Z X Y Z

1 382 358 126 Calcificado

2 320 236 34 318 275 197

3 119 314 54

4 79 326 124 79 186 107

- Cantidad de nódulos en imagen original = 4.

- Cantidad de nódulos encontrados en imagen de algoritmo = 2.

Resultados generales

Page 114: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 100

- El resultado de cada una de las pruebas, se presenta en la siguiente tabla.

TAC Nódulos en ima-gen etiquetada

Nódulos en ima-gen obtenida Falsos negativos

Porcentaje 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

Total 116 77 39 66,4

- En la anterior tabla pueden verse 4 columnas que indican la cantidad de nódulos

que fueron encontrados por expertos en la imagen usada como entrada; la cantidad

de regiones en la imagen de salida obtenida por al algoritmo, que son consideradas

como nódulos; la cantidad de falsos negativos, es decir los nódulos que fueron

diagnosticados como positivos (imagen etiquetada), pero que no fueron detectados

Page 115: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 101

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

en la imagen de salida y finalmente el porcentaje de acierto o de casos de éxito

para cada una de las imágenes analizadas.

Para cada una de las tomografías, se obtuvo la cantidad de falsos positivos, es decir las

regiones candidatas de la imagen de salida que no corresponden a un nódulo en la

imagen de entrada. Para ello se realizó un conteo de la cantidad total de regiones obte-

nidas en la imagen de salida y se comparó con la cantidad de nódulos etiquetados en

la imagen de entrada. Los resultados fueron los siguientes:

TAC

Cantidad de regiones can-didatas encontradas en la imagen obtenida por el al-goritmo

Cantidad de nódulos eti-quetados en la imagen de entrada

Cantidad de falsos positivos

3 10317 7 10310

4 49981 23 49958

6 31991 9 31982

7 68801 2 68799

8 169732 6 169726

9 79270 8 79262

10 14997 7 14990

11 37705 9 37696

12 16005 19 15986

13 35702 11 35691

15 24550 11 24539

18 9875 4 9871

Total 548926 116 548810

Page 116: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 102

Anexo 6. Pruebas de usabilidad

A continuación se muestra la prueba que se realizó a los tres calificadores seleccionados.

PRUEBA DE USABILIDAD PARA EL SISTEMA DE APOYO PARA IDENTIFICACION

Y ESTIMACION DE VOLUMETRIA DE NODULOS PULMONARES.

Esta prueba permite conocer el grado de usabilidad y satisfacción que la aplicación proporciona

al usuario. Se darán una serie de instrucciones para que el usuario realice, con el fin de verificar

las funciones que posee el sistema.

INSTRUCCIONES:

El sistema es básicamente una aplicación para interactuar con imágenes de TAC (tomografía

axial computarizada) de tórax, con el fin de encontrar regiones candidatas que puedan ser nó-

dulos (masa pulmonar menor de 3 cm de diámetro). Las funciones básicas de la aplicación son

visualizar e interactuar con las imágenes, visualizar el histograma de la imagen con o sin más-

cara, realizar el algoritmo paso a paso para encontrar los candidatos, ver un modelo en tres

dimensiones de los pulmones, el árbol vascular y los candidatos y finalmente una herramienta

para verificar el volumen aproximado de cada candidato junto con su ubicación en la imagen.

Las siguientes son instrucciones para verificar el funcionamiento de la aplicación.

1) Abrir aplicación.

2) Abrir un archivo de imagen DICOM.

3) Cambiar la visualización para ver cada una de las vistas.

4) En cada una de las vistas cambiar el corte y verificar el panel de vista del volumen. De

igual forma cambiar el contraste de la imagen en cada uno de los cortes y verificar el

cambio en la vista del volumen.

5) Interactuar con la vista de volumen.

6) Realizar el algoritmo paso a paso para encontrar candidatos de nódulos.

7) Verificar los datos de la imagen y el paciente.

8) Visualizar un histograma con y sin máscara.

9) Visualizar e interactuar con el modelo en tres dimensiones.

Page 117: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 103

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

10) Verificar el volumen y ubicación de cada región candidata.

11) Cerrar la aplicación.

Luego de realizada la prueba se pide la siguiente evaluación a los usuarios.

Calificador: Luis Guillermo Torres.

Seleccione en una escala de 1 a 5 (1: Poco útil, 5: Muy útil).

1 2 3 4 5 Observaciones

1. ¿Es de utilidad la aplicación? X

2. El uso de las opciones de visualización de cada una de las 3 vistas coronal, transversal, sagital. X

3. 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. X

4. Visualización de datos de la imagen DICOM y de paciente en el panel de "Data".

X

No indica coordenadas y/o número de candida-tos o datos relevantes con el paciente.

Solamente el nombre, genero, fecha e informa-ción sobre las imágenes.

5. La ventana de histograma. X

6. El uso de máscaras en la visualización del histograma. X

7. El uso de controles para visualizar el rango de valores deseado en la ventana de histograma. X

8. El cambio de tipo de grafico en la venta de histograma. X

Page 118: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 104

Seleccione en una escala de 1 a 5 su grado de acuerdo o desacuerdo. (1. Total

desacuerdo, 2.En desacuerdo, 3. Indiferente, 4.De acuerdo, 5.Total acuerdo)

1 2 3 4 5 Observaciones

1. El sistema en general es de fácil uso. X

Las opciones “Set Intensity”, “Set Eigenvalues” y “Set Bothat” requieren hacer clic en otros botones similares en to-das las ocasiones. Se sugiere que con solo un botón se realice las dos acciones.

Otro comentario es que sería de utilidad colocar números al lado

9. Poder visualizar las imágenes que ya se han hecho en el algoritmo. X

10. Pedir el radio de la mediana al usuario. X

11. Recortar la imagen en el procedimiento de obtención de mediastino. X

12. El control para seleccionar el umbral de cada una de las imágenes para encontrar candidatos. X

13. La herramienta de volumetría. X

14. Visualizar la localización en dos dimensiones del candi-dato seleccionado. X Es más útil el 3D

15. Visualizar el modelo en tres dimensiones donde se mues-tra la ubicación del candidato junto con el pulmón y el árbol vascular. X

16. Observar las imágenes de pulmones, árbol vascular y seg-mentación de candidatos en la herramienta "3D view". X

17. Cambiar la opacidad de cada una de las imágenes en la herramienta "3D View". X

Page 119: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 105

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

de las opciones para conocer el orden que se debe seguir.

Se sugiere ventana que indique que el proceso se está llevando a cabo y bloquee las acciones del usuario para evitar múltiples inputs. (Ideal si se cuenta con tiempo estimado)

2. Los iconos de la barra de herramientas son intuiti-vos y le dicen que función cumple cada uno. X

Si bien el tooltip ayuda, no es claro el acceso al algoritmo.

3. El color, tamaño y forma de los iconos es ade-cuado. X

3. La visualización de colores (RGB) en el fondo de cada uno de los planos, ayuda a reconocerlos fácil-mente. X

Sin embargo, hay mucho uso de rojos y verdes que pueden per-judicar a alguien con dificultad tipo daltonismo

4. El uso de los controles de cambio de corte en cada uno de los planos es preciso e intuitivo. X

5. El cambio en el contraste de la imagen usando el mouse es de fácil uso. X

6. Observar el cambio en la vista de volumen a me-dida que se cambia uno de los cortes de un plano lo hace una herramienta de navegación importante. X

7. La organización de las 4 vistas (sagital, coronal, transversal y volumen) es agradable. X

8. La organización de los botones, cuadros de texto y etiquetas es agradable en el panel de Algoritmo. X

9. La organización de los botones para observar cada una de las imágenes es la correcta. X

10. Es intuitivo realizar paso a paso el algoritmo sin cometer errores. X

Recalcando el comentario del orden de pasos

Page 120: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 106

11. 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. X

12. Al observar la imagen tridimensional en la herra-mienta "3D View", se pueden observar colores agra-dables y acordes con la imagen que representan. X

13. El uso de la opacidad en la herramienta "3D View" le ayuda a identificar mejor las estructuras. X

En el caso de solo “vessels” se incluye la columna vertebral. Sin embargo, se entiende la es-tructura pulmonar

14. La visualización del volumen que ocupa una re-gión candidata y las coordenadas donde se encuen-tra dicha región, le ayudan a identificarla fácilmente en la imagen. X

15. El uso de la herramienta de histograma le ayuda a identificar umbrales para seleccionar en el desarro-llo del algoritmo. X

16. La interacción que tiene con la imagen es intui-tiva. X

Se requiere guía para el cambio de brillo/contraste

17. La interacción que tiene con el modelo en tres dimensiones es intuitiva. X

Responda las siguientes preguntas:

¿Usaría esta aplicación para ver imá-genes DICOM y encontrar candida-tos de nódulos pulmonares? ¿Por qué? Sí, me parece adecuado el despliegue tanto en 2D como en 3D.

Sin embargo, considero que la vista en 3D es más adecuada

¿Qué opina sobre la precisión de los controles de selección? Los controles son adecuados, en pocos casos es necesario reali-

zar el ingreso de forma manual.

Page 121: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 107

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

En general, ¿Que opina sobre el sis-tema?

Es un sistema muy completo y de alto valor para el médico. Sin embargo, puede llegar a necesitar una guía para utilizarlo de forma correcta. Se recomienda un bue manual de usuario o

ayuda dentro de la misma herramienta mediante la indicación de pasos o mensajes de ayuda.

Qué opina de la interacción con las diferentes imágenes. Me parece adecuada la interacción

¿Qué cambios le haría al sistema?

Adicional a los anteriores, hago énfasis en el cambio de la nece-sidad de oprimir dos botones para seleccionar los algoritmos de segmentación. Personalmente lo reduciría a solo uno pues

siempre se requiere oprimir los dos (no hay un caso donde sólo se oprima uno) lo que facilita obviar el segundo clic.

Si es posible, agregar la pantalla de progreso de procesamiento y cambiar colores pensando en usuarios con daltonismo.

Si bien el panel “Data” es interesante desde el punto de vista técnico del análisis de imágenes, personalmente, preferiría que

le diera datos al médico sobre el paciente.

Calificador: Leonardo Florez Valencia.

Seleccione en una escala de 1 a 5 (1: Poco útil, 5: Muy útil).

1 2 3 4 5 Observaciones

1. ¿Es de utilidad la aplicación? X

2. El uso de las opciones de visualización de cada una

de las 3 vistas coronal, transversal, sagital. X

3. El uso de la opción de visualización de la combi-

nación de los tres planos (sagital, coronal, transver-

sal) en una sola imagen. X

4. Visualización de datos de la imagen DICOM y de

paciente en el panel de "Data". X

5. La ventana de histograma. X

Page 122: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 108

Seleccione en una escala de 1 a 5 su grado de acuerdo o desacuerdo. (1. Total

desacuerdo, 2.En desacuerdo, 3. Indiferente, 4.De acuerdo, 5.Total acuerdo)

1 2 3 4 5 Observaciones

6. El uso de máscaras en la visualización del histo-

grama. X Es mejor el “zoom” sobre el

histograma

7. El uso de controles para visualizar el rango de va-

lores deseado en la ventana de histograma. X

8. El cambio de tipo de grafico en la venta de histo-

grama. X

9. Poder visualizar las imágenes que ya se han hecho

en el algoritmo. X

10. Pedir el radio de la mediana al usuario.

X

A un usuario clínico se le de-

bería presentar algunos valo-

res y su interpretación “fí-

sica”

11. Recortar la imagen en el procedimiento de obten-

ción de mediastino. X

Esto hace parte del algoritmo,

en la aplicación final no tiene

mucho sentido.

12. El control para seleccionar el umbral de cada una

de las imágenes para encontrar candidatos. X Ver observación “10”

13. La herramienta de volumetría. X

14. Visualizar la localización en dos dimensiones del

candidato seleccionado. X

15. Visualizar el modelo en tres dimensiones donde

se muestra la ubicación del candidato junto con el pul-

món y el árbol vascular. X

16. Observar las imágenes de pulmones, árbol vascu-

lar y segmentación de candidatos en la herramienta

"3D view". X

17. Cambiar la opacidad de cada una de las imágenes

en la herramienta "3D View". X

Page 123: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 109

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

1. El sistema en general es de fácil uso. X

2. Los iconos de la barra de herramientas son intui-

tivos y le dicen que función cumple cada uno. X

3. El color, tamaño y forma de los iconos es ade-

cuado. X

3. La visualización de colores (RGB) en el fondo de

cada uno de los planos, ayuda a reconocerlos fácil-

mente. X

4. El uso de los controles de cambio de corte en cada

uno de los planos es preciso e intuitivo. X

5. El cambio en el contraste de la imagen usando el

mouse es de fácil uso. X Pero no el gesto no es coherente

entre las vistas 2D-3D

6. Observar el cambio en la vista de volumen a me-

dida que se cambia uno de los cortes de un plano lo

hace una herramienta de navegación importante. X

7. La organización de las 4 vistas (sagital, coronal,

transversal y volumen) es agradable. X Es “estándar”, eso es suficiente

8. La organización de los botones, cuadros de texto

y etiquetas es agradable en el panel de Algoritmo. X

9. La organización de los botones para observar cada

una de las imágenes es la correcta. X Un control estilo “combobox”

sería más adecuado.

10. Es intuitivo realizar paso a paso el algoritmo sin

cometer errores. X

11. La división de la pantalla principal al momento

de seleccionar la herramienta de "Algoritmo", "Da-

tos" y "Volumetría", le ayuda a visualizar las imáge-

nes mientras realizan cambios. X

12. Al observar la imagen tridimensional en la he-

rramienta "3D View", se pueden observar colores

agradables y acordes con la imagen que representan. X

Page 124: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 110

13. El uso de la opacidad en la herramienta "3D

View" le ayuda a identificar mejor las estructuras. X

14. La visualización del volumen que ocupa una re-

gión candidata y las coordenadas donde se encuentra

dicha región, le ayudan a identificarla fácilmente en

la imagen. X

15. El uso de la herramienta de histograma le ayuda

a identificar umbrales para seleccionar en el desa-

rrollo del algoritmo. X Están muy “lejos”

16. La interacción que tiene con la imagen es intui-

tiva. X

Para quienes tienen experiencia

con la visualización de imáge-

nes médicas

17. La interacción que tiene con el modelo en tres

dimensiones es intuitiva. X

Responda las siguientes preguntas:

¿Usaría esta aplicación para ver imá-

genes DICOM y encontrar candida-

tos de nódulos pulmonares? ¿Por

qué? Sí, porque permite una carga y visualización rápida

¿Qué opina sobre la precisión de los

controles de selección? Es adecuada

En general, ¿Que opina sobre el sis-

tema? Es correcto para realizar una visualización rápida y para enten-

der los pasos del algoritmo de segmentación

Qué opina de la interacción con las

diferentes imágenes. Es estándar

¿Qué cambios le haría al sistema?

Para el seguimiento de algoritmo, es adecuado. Para un uso más

genérico, debería ser más orientado a una arquitectura de servi-

cios (de interacción, visualización y procesamiento) que se adi-

cionen a medida que se necesiten

Calificador: Pablo Alexander Reyes.

Seleccione en una escala de 1 a 5 (1: Poco útil, 5: Muy útil).

Page 125: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 111

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

1 2 3 4 5 Observaciones

1. ¿Es de utilidad la aplicación? x

2. El uso de las opciones de visualización de cada una

de las 3 vistas coronal, transversal, sagital. x

3. El uso de la opción de visualización de la combina-

ción de los tres planos (sagital, coronal, transversal) en

una sola imagen. x

4. Visualización de datos de la imagen DICOM y de

paciente en el panel de "Data". x

5. La ventana de histograma. x

En algunos ambientes médicos

no se usa mucho el histograma

6. El uso de máscaras en la visualización del histo-

grama. x

7. El uso de controles para visualizar el rango de valo-

res deseado en la ventana de histograma. x

8. El cambio de tipo de grafico en la venta de histo-

grama. x

9. Poder visualizar las imágenes que ya se han hecho

en el algoritmo. x

10. Pedir el radio de la mediana al usuario. x

Colocar opciones y una que

diga recomendada

11. Recortar la imagen en el procedimiento de obten-

ción de mediastino. x

12. El control para seleccionar el umbral de cada una

de las imágenes para encontrar candidatos. x

Colocar opciones y una que

diga recomendada

13. La herramienta de volumetría. X Colorear

14. Visualizar la localización en dos dimensiones del

candidato seleccionado. X

Page 126: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 112

15. Visualizar el modelo en tres dimensiones donde se

muestra la ubicación del candidato junto con el pulmón

y el árbol vascular. X

16. Observar las imágenes de pulmones, árbol vascular

y segmentación de candidatos en la herramienta "3D

view". X

17. Cambiar la opacidad de cada una de las imágenes

en la herramienta "3D View". x

Seleccione en una escala de 1 a 5 su grado de acuerdo o desacuerdo. (1. Total

desacuerdo, 2.En desacuerdo, 3. Indiferente, 4.De acuerdo, 5.Total acuerdo)

1 2 3 4 5 Observaciones

1. El sistema en general es de fácil uso. x

Colocar ayudas o descripciones so-

bre los botones

2. Los iconos de la barra de herramientas son in-

tuitivos y le dicen que función cumple cada uno. X

3. El color, tamaño y forma de los iconos es ade-

cuado. X

3. La visualización de colores (RGB) en el fondo

de cada uno de los planos, ayuda a reconocerlos

fácilmente. X

4. El uso de los controles de cambio de corte en

cada uno de los planos es preciso e intuitivo. X

5. El cambio en el contraste de la imagen usando

el mouse es de fácil uso. X

6. Observar el cambio en la vista de volumen a me-

dida que se cambia uno de los cortes de un plano

lo hace una herramienta de navegación impor-

tante. X

7. La organización de las 4 vistas (sagital, coronal,

transversal y volumen) es agradable. X

8. La organización de los botones, cuadros de texto

y etiquetas es agradable en el panel de Algoritmo. X

Creo que debería haber más de esto

en el algoritmo

Page 127: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 113

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

9. La organización de los botones para observar

cada una de las imágenes es la correcta. X

10. Es intuitivo realizar paso a paso el algoritmo

sin cometer errores. X

Se podría pensar en una opción se-

miautomática de solo las coordena-

das de pulmones y run!

11. 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. X

12. Al observar la imagen tridimensional en la he-

rramienta "3D View", se pueden observar colores

agradables y acordes con la imagen que represen-

tan. X

13. El uso de la opacidad en la herramienta "3D

View" le ayuda a identificar mejor las estructuras. X

14. La visualización del volumen que ocupa una

región candidata y las coordenadas donde se en-

cuentra dicha región, le ayudan a identificarla fá-

cilmente en la imagen. X

15. El uso de la herramienta de histograma le

ayuda a identificar umbrales para seleccionar en el

desarrollo del algoritmo. X

16. La interacción que tiene con la imagen es in-

tuitiva. x

17. La interacción que tiene con el modelo en tres

dimensiones es intuitiva. x

Responda las siguientes preguntas:

¿Usaría esta aplicación para ver imá-

genes DICOM y encontrar candida-

tos de nódulos pulmonares? ¿Por

qué? Si, si tuviese la oportunidad

Page 128: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 114

¿Qué opina sobre la precisión de los

controles de selección?

Es adecuada

En general, ¿Que opina sobre el sis-

tema? Creo que es bueno y tiene opciones de mejora

Qué opina de la interacción con las

diferentes imágenes. Es adecuada

¿Qué cambios le haría al sistema? Dar etiquetas de ayuda en el algoritmo, una opción semiautomá-

tica, poder colocar la imagen final (candidatos) sobre la original.

Page 129: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 115

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

Anexo 7. Integración de herramientas

Para integrar las tres herramientas primero se debe tener claro que 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.

A continuación se describe como se realizó la integración de cada una de estas tres herra-

mientas.

1. INTEGRACIÓN VTK – QT

Lo primero que se debe tener en cuenta es que VTK tiene un módulo que se integra

con QT. Para tener ese módulo, se debe habilitar la opción de “VTK_Group_Qt”, al

momento de la compilación e instalación de la biblioteca de VTK, con lo cual se genera

una clase con métodos para la integración VTK – QT llamada “QVTKWidget” [62]. Para

mayor información ver Anexo Manual de instalación.

- Para mostrar una ventana de visualización de datos de VTK dentro de una ventana

de QT, simplemente basta con generar un QVTKWidget dentro de la ventana o

forma que se diseñe de QT.

- Cada ventana nueva de VTK dentro de QT (QVTKWidget), posee su propio Inter-

actor y su propio RenderWindow, los cuales son creados al momento de instan-

ciarse una ventana de QT que contenga un widget de VTK. Por lo tanto no hay

necesidad de crear ninguno de los dos.

o Si por algún motivo es necesario utilizar cualquiera de los dos elementos

se puede realizar mediante los métodos siguientes:

Page 130: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 116

GetInteractor(): Obtiene un apuntador del objeto Interactor con

el que se pueden obtener y cambiar características de los datos

a visualizar.

GetRenderWindow(): 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.

o Por otra parte, si dentro de algún procedimiento se crea un nuevo Ren-

derWindow (como el caso de la ventana de histograma), se utiliza el mé-

todo siguiente, con el fin de cambiar los ya existentes por unos nuevos:

SetRenderWindow(): ajusta un nuevo RenderWindow al

QVTKWidget existente.

2. INTEGRACIÓN VTK – ITK

VTK es utilizado de forma transparente ante ITK, es decir que el Coordinator simple-

mente recibe peticiones de la VISTA y retorna datos procesados por ITK, enmasca-

rando toda la complejidad presente en los procedimientos de ITK. Por otra parte, para

el caso de este proyecto, ITK no necesita métodos de VTK, por tal razón cualquier

procedimiento utilizado de ITK se realiza de forma independiente y aislada tanto a

VTK como a QT.

Al obtener una imagen de cualquier procedimiento de ITK, es necesario transformarla

a un formato de VTK con el fin de poderla mostrar en la vista. Para ello, el coordinador

hace uso de un filtro de casteo el cual hace un cambio de una imagen en formato ITK

(ImageType::Pointer) a una imagen en formato VTK (vtkImageData *), mediante el

elemento:

o Itk::ImageToVTKImageFilter <ImageType> : Filtro que realiza el cambio de

una imagen en formato de ITK a VTK.

3. INTEGRACIÓN QT – ITK

Page 131: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 117

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

Cualquier interacción que pueda existir entre QT e ITK se realiza siempre mediante

VTK, por tal motivo no hay ningún modulo específico para hacer la interacción entre

estos dos componentes.

4. INTEGRACIÓN VTK – QT – ITK

La integración de las tres herramientas utilizadas en este proyecto, se hizo mediante

el uso de un Coordinator, que corresponde al mediador que controla como debe ser

la visualización (VISTA), a partir de unos datos (MODELO) y también la generación de

datos (MODELO) a partir de peticiones del usuario desde la VISTA. Tal como se men-

ciona en el diseño del proyecto (Ver anexo SDD), el elemento “MODELO” utiliza aisla-

damente ITK para realizar todo el procesamiento de datos, el elemento “VISTA” utiliza

en conjunto VTK – QT, con el fin de generar la vista que será mostrada al usuario, y

finalmente el elemento CONTROLADOR, que hace uso de dichos elementos con el fin

de generar paso de mensajes entre ambos.

5. HERRAMIENTAS UTILIZADAS DE ITK

Para el desarrollo del algoritmo, se utilizaron métodos de ITK que se detallan a conti-

nuación, donde se indican la clase y método donde se utilizan, el filtro usado y co-

mentarios adicionales:

Clase Método Filtro Comentarios

BinaryFilters

Función bi-naria OR

itk::OrImageFilter<Ima-geType>

Realiza la operación binaria OR de dos imágenes binarias.

Función bi-naria AND

itk::AndImageFilter<Ima-geType>

Realiza la operación binaria AND de dos imágenes binarias.

Page 132: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 118

Filtro de cie-rre, filtro de apertura, fil-tro de ero-sión en es-cala de gri-ses, filtro de dilatación en escala de gri-ses, filtro de dilatación

itk::BinaryBallStructur-ingElement<Im-ageType::PixelType, Im-ageType::ImageDimen-sion>

Elemento estructurador para las operaciones de morfología matemática.

Cierre

itk::BinaryMorphologi-calClosingImageFilter <Im-ageType, ImageType, StructuringElementType>

Operación de morfología ma-temática de cierre (closing).

Apertura

itk::BinaryMorphologi-calOpeningImageFilter <ImageType, ImageType, StructuringElementType>

Operación de morfología ma-temática de apertura (ope-ning).

Erosión en escala de gri-ses

itk::GrayscaleErodeImage-Filter <ImageType, Im-ageType, StructuringEle-mentType>

Operación de morfología ma-temática de erosión en escala de grises.

Dilatación en escala de gri-ses

itk::GrayscaleDilateImage-Filter <ImageType, Im-ageType, StructuringEle-mentType>

Operación de morfología ma-temática de dilatación en es-cala de grises.

Dilatación

itk::BinaryDilateImageFil-ter <ImageType, Im-ageType, StructuringEle-mentType>

Operación de morfología ma-temática de dilatación.

Page 133: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 119

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

BoumaMet-hods

Operación de filas para en-contrar me-diastino

itk::ImageDuplicator< Ima-geType >

Se obtiene una copia exacta de una imagen, incluyendo carac-terísticas del encabezado DICOM.

Eliminación de regiones pequeñas

itk::BinaryImageToLabel-MapFilter<ImageType>

Con el fin de obtener un mapa de etiquetas a partir de una imagen binaria.

itk::LabelMapTo-LabelImageFilter<Bina-ryImageToLabelMapFilter-Type::OutputImageType, ImageType>

Genera una imagen a partir del mapa de etiquetas.

itk::LabelStatisticsImage-Filter< ImageType, Ima-geType >

Con este filtro se pueden obte-ner características estadísticas de las regiones etiquetadas.

DICOMIO-Manage

Conversión de imagen ITK-VTK

itk::ImageToVTKImageFil-ter<ImageType>

Con este filtro se realiza la con-versión entre imagen de tipo ITK a imagen de tipo VTK.

ImageFilters

Filtro me-diana

itk::MedianImageFil-ter<ImageType, Ima-geType >

Filtro para hacer la mediana de una imagen.

Crecimiento de regiones

itk::CurvatureFlowImage-Filter< ImageType, Image-GrowingType >

Se utilizan en conjunto con el fin de realizar el crecimiento de regiones usando una semi-lla.

itk::ConnectedThresholdI-mageFilter< ImageGro-wingType, ImageType >

Page 134: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 120

Umbraliza-ción

itk::BinaryThresholdIma-geFilter <ImageType, Ima-geOutType>

Filtro para realizar la segmen-tación de una imagen en grises por medio de la umbralización.

Usar mas-cara en una imagen

itk::MaskImageFilter< Ima-geType, ImageOutType >

Filtro en donde se usa una máscara sobre una imagen, para obtener regiones de inte-rés, excluyendo todo lo que no esté en la máscara.

Mapa de dis-tancia

itk::SignedDanielssonDis-tanceMapImageFilter< ImageType, ImageOutType >

Filtro para obtener el mapa de distancia con signo, de acuerdo al algoritmo de Da-nielsson.

Resta de imágenes

itk::SubtractImageFilter <ImageType, ImageType >

Filtro para realizar la sustrac-ción de dos imágenes.

Segmenta-ción del árbol vascular y bronquial

itk::HessianRecursiveGaus-sianImageFilter<Ima-geType >

En conjunto, estos dos filtros realizan la segmentación del árbol vascular y bronquial. Con el primero se obtiene la matriz de hessiana, y con el segundo se realiza el procedimiento descrito por Sato.

itk::Hessian3DToVessel-nessMeasureImageFil-ter<float >

Análisis con el criterio de valores pro-pios

itk::HessianRecursive-GaussianImageFilter<Im-ageType, T_ImageType >

Obtención de matriz Hessiana.

itk::SymmetricEigenAnaly-sisImageFilter <T_Im-ageType, E_ImageType>

Obtención de valores propios.

Page 135: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 121

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

ImageProce-ssingUtils

Función de máximo y mí-nimo valor

itk::MinimumMaximumI-mageCalculator <Ima-geType>

Se obtienen los valores de in-tensidades mínimo y máximo presentes en una imagen.

Histograma itk::Statistics::ImageToHis-togramFilter< ImageType >

Se obtiene un histograma a partir de una imagen.

Histograma con mascara

itk::Statistics::MaskedI-mageToHistogramFilter< ImageType, ImageMask-Type >

Se obtiene un histograma a partir de una imagen usando una máscara.

Contorno de una imagen

itk::BinaryContourImage-Filter <ImageType, Ima-geType >

A partir de una imagen binaria, se obtiene un contorno o borde.

Page 136: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 122

Anexo 8. Carta de autorización de los autores

Page 137: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 123

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008

Page 138: Sistema de apoyo para identificación y estimación de ...

Ingeniería de Sistemas Takina – CIS1510AP04

Página 124

Anexo 9. Descripción de la tesis o trabajo de grado

Page 139: Sistema de apoyo para identificación y estimación de ...

Pontificia Universidad Javeriana Memoria de Trabajo de Grado – Aplicación práctica.

Página 125

Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008