Universidad de las Ciencias Informáticas
“Facultad 5”
Título: “Reconstrucción Tridimensional de Modelos
Anatómicos a partir de Imágenes Médicas Digitales”
Trabajo de Diploma para optar por el título de Máster en Ciencias
Autor: Ing. Osvaldo Pereira Barzaga
Tutor: M.Sc. Iván Pérez Mallea
I
Declaración de Autoría.
Declaramos ser autores de la presente tesis y reconocemos a la Universidad de las Ciencias Informáticas
los derechos patrimoniales de la misma, con carácter exclusivo.
Para que así conste firmo la presente a los ___ días del mes de _______ del año _______.
_______________________________ _________________________
Autor: Osvaldo Pereira Barzaga. Tutor: Iván Pérez Mallea.
II
Agradecimientos.
III
Dedicatoria.
IV
Resumen.
Las aplicaciones de visualización médica han adquirido un elevado auge en la medicina a nivel mundial,
ya que les permite a los médicos especialistas realizar diagnósticos preoperatorios no invasivos y de alta
precisión desde una perspectiva 3D. La idea principal de la misma es obtener un modelo tridimensional de
alta resolución gráfica a partir de imágenes médicas digitales de las modalidades de Tomografía Axial
Computarizada y Resonancia Magnética. Los usuarios de este tipo de aplicaciones demandan que las
representaciones de los modelos anatómicos representados en el escenario virtual correspondan con la
anatomía real de los pacientes a los cuales se les está realizando el diagnostico.
En este trabajo se describe y caracteriza el proceso para la obtención de una representación geométrica
de la anatomía real de un paciente a partir de imágenes médicas digitales (DICOM). El mismo está
constituido por cuatro etapas fundamentales: la adquisición de los datos, el procesamiento, la
reconstrucción de la geometría y por último la visualización tridimensional.
Primeramente se describen la estructura de interna de un fichero DICOM como fuente principal de
adquisición de datos. Luego se destacan la aplicación de técnicas de Clustering complementadas con
técnicas de Crecimientos de Regiones aplicadas al problema de la segmentación de imágenes médicas
tridimensionales. Finalizando con la selección del Marching Cubes como algoritmo de reconstrucción de
superficie, en una variante mejorada mediante el empleo de una estructura de datos que evita que durante
el proceso de reconstrucción se generen vértices repetidos.
Palabras Claves:
Reconstrucción, 3D, Segmentación, Clustering, Crecimiento de Regiones, DICOM, Marching Cubes.
V
Índice de Contenidos.
Declaración de Autoría. ................................................................................................................................ I
Agradecimientos. ......................................................................................................................................... II
Dedicatoria. ................................................................................................................................................ III
Resumen. .................................................................................................................................................. IV
Índice de Contenidos. ................................................................................................................................. V
Índice de Figuras y Tablas. ........................................................................................................................ IX
Introducción. ................................................................................................................................................ 1
Capítulo 1. Fundamentación Teórica. .......................................................................................................... 5
1.1. Adquisición de Imágenes Médicas Digitales. ..................................................................................... 5
1.1.1. Modalidades de Adquisición de Imágenes. ................................................................................. 5
1.1.1.1. Rayos X ................................................................................................................................ 6
1.1.1.2. Tomografía Axial Computarizada. ........................................................................................ 8
1.1.1.3. Resonancia Magnética. ...................................................................................................... 13
1.1.2. Especificación del Estándar DICOM. ........................................................................................ 15
1.1.2.1. Formato de un Archivo DICOM. .......................................................................................... 16
1.2. Procesamiento de Imágenes. .......................................................................................................... 18
1.2.1. Mejoramiento Digital de Imágenes. ........................................................................................... 18
1.2.1.1. Mejoramiento del Contraste. ............................................................................................... 18
1.2.1.2. Detección de Discontinuidades. .......................................................................................... 23
1.2.1.3. Homogenización de Regiones. ........................................................................................... 25
1.2.2. Técnicas Clásicas de Segmentación de Imágenes. .................................................................. 25
1.2.2.1. Enfoques de Segmentación de Imágenes. ......................................................................... 26
1.2.2.2. Segmentación por Umbralización. ...................................................................................... 26
1.2.2.3. Segmentación por Crecimiento de Regiones. ..................................................................... 27
1.2.2.4. Segmentación por Detección de Bordes. ............................................................................ 28
1.2.3. Otras técnicas de segmentación de Imágenes. ......................................................................... 29
1.2.4. Clustering. ................................................................................................................................. 29
VI
1.3. Reconstrucción Tridimensional a partir de Imágenes. ..................................................................... 30
1.3.1. Algoritmos Basados en Triangulación de Delaunay. ................................................................. 30
1.3.2. Algoritmos Basados en Marching. ............................................................................................. 30
1.3.2.1. Marching Cubes. ................................................................................................................ 31
1.3.2.2. Marching Tetrahedron. ....................................................................................................... 33
1.3.3. Otros algoritmos. ....................................................................................................................... 34
1.4. Formatos de Ficheros para el Intercambio con Sistemas CAD. ....................................................... 35
1.4.1. Características de los ficheros IGES. ........................................................................................ 36
1.4.2. Características de los ficheros DWF. ........................................................................................ 36
1.4.3. Características de los ficheros STEP. ....................................................................................... 37
1.4.4. Características de los ficheros 3DS. ......................................................................................... 37
1.4.5. Características de los ficheros ASE. ......................................................................................... 37
1.4.6. Características de los ficheros COLLADA. ................................................................................ 38
1.5. Principales Bibliotecas de Clases. ................................................................................................... 38
1.5.1. Imebra. ..................................................................................................................................... 38
1.5.2. DICOMLib. ................................................................................................................................ 39
1.5.3. ITK. ........................................................................................................................................... 39
1.5.4. VTK. .......................................................................................................................................... 39
1.5.5. TetGen. ..................................................................................................................................... 40
1.6. Consideraciones Generales del Capítulo. ........................................................................................ 40
Capítulo 2. Solución Propuesta. ................................................................................................................. 42
2.1. Adquisición de Imágenes Médicas. ................................................................................................. 42
2.1.1. Construcción de Imágenes Médicas Tridimensionales. ............................................................. 43
2.1.2. Criterios para clasificar Rejilla 3D. ............................................................................................. 44
2.1.2.1. Distancia entre vóxeles. ...................................................................................................... 44
2.1.2.2. Orientación. ........................................................................................................................ 44
2.2. Procesamiento de Imágenes Médicas. ............................................................................................ 45
2.2.1. Mejoramiento de Imágenes Médicas 3D. .................................................................................. 45
2.2.2. Segmentación Tridimensional de Imágenes Médicas. ............................................................... 45
2.2.2.1. Clustering. K-Means y Fuzzy K-Means. .............................................................................. 46
VII
2.2.2.2. Crecimiento de Regiones. Vóxel Growing. .......................................................................... 48
2.3. Reconstrucción de Superficie. ......................................................................................................... 52
2.3.1. Generación de la Malla. Implementación del Algoritmo Marching Cube. ................................... 53
2.4. Propuesta de Fichero para el Almacenamiento e Intercambio de Datos. ......................................... 54
2.5. Visualización de los Modelos Obtenidos. ......................................................................................... 55
2.5.1. Función de Trasferencia. .......................................................................................................... 55
Capítulo 3. Solución Técnica. .................................................................................................................... 56
3.1. Características del Sistema. ............................................................................................................ 56
3.1.1. Captura de Requisitos. .............................................................................................................. 56
3.1.1.1. Requisitos Funcionales del Sistema. .................................................................................. 56
3.1.1.2. Requisitos No Funcionales. ................................................................................................ 57
3.1.2. Modelo de Casos de Uso del Sistema. ..................................................................................... 57
3.1.2.1. Actores del Sistema. ........................................................................................................... 57
3.1.2.2. Diagrama de Casos de Uso del Sistema. ........................................................................... 58
3.1.2.3. Descripción de los Casos de Uso del Sistema. ................................................................... 58
3.2. Análisis y Diseño del Sistema. ......................................................................................................... 61
3.2.1. Diagrama de Clases de Análisis. .............................................................................................. 61
3.2.2. Diagrama de Secuencias del Análisis. ...................................................................................... 62
3.2.2.1. Diagrama de Secuencia del Caso de Uso Cargar Ficheros. ............................................... 63
3.2.2.2. Diagrama de Secuencia del Caso de Uso Segmentar. ....................................................... 63
3.2.2.3. Diagrama de Secuencia del Caso de Uso Reconstruir. ...................................................... 64
3.2.3. Diagrama de Clases de Diseño. ................................................................................................ 64
3.2.3.1. Diagrama de Clases del Paquete de Estructuras de Datos. ............................................... 66
3.2.3.2. Diagrama de Clases del Paquete de Adquisición de Datos. ............................................... 67
3.2.3.3. Diagrama de Clase del Paquete Segmentación. ................................................................ 68
3.2.3.4. Diagrama de Clases del Paquete Reconstrucción. ............................................................. 69
3.2.3.5. Diagrama de Clases del Paquete de Visualización. ............................................................ 70
3.3. Análisis de los Resultados. ............................................................................................................. 70
3.3.1. Ambiente para el desarrollo de las pruebas. ............................................................................. 70
3.3.2. Datos de Pruebas. .................................................................................................................... 71
VIII
3.3.2.1. Caso de Prueba # 1. Adquisición de Imágenes DICOM...................................................... 71
3.3.2.2. Caso de Prueba # 2. Segmentación de Imágenes mediante Clustering. ............................ 72
3.3.2.3. Caso de Prueba # 3. Reconstrucción del Modelo 3D usando Marching Cube. ................... 72
Conclusiones ............................................................................................................................................. 73
Recomendaciones. .................................................................................................................................... 74
Bibliografía. ................................................................................................................................................ 75
Anexos. ...................................................................................................................................................... 78
IX
Índice de Figuras y Tablas.
FIGURA 1. DIAGRAMA ESQUEMÁTICO DE UN TUBO DE RAYOS X. ....................................................................... 6
FIGURA 2. ATENUACIÓN EXPONENCIAL DE RAYOS X MONO ENERGÉTICOS. ...................................................... 7
FIGURA 3. FORMACIÓN DE UNA IMAGEN PLANA CON RAYOS X. ......................................................................... 8
FIGURA 4. ESCÁNER DE PRIMERA GENERACIÓN. TIPO I (ROTACIÓN - TRANSLACIÓN) ......................................... 9
FIGURA 5.ESCÁNER DE PRIMERA GENERACIÓN. TIPO II (ROTACIÓN - TRANSLACIÓN) ......................................... 9
FIGURA 6.ESCÁNER DE TERCERA GENERACIÓN. (ROTACIÓN - ROTACIÓN) ...................................................... 10
FIGURA 7. ESCÁNER DE CUARTA GENERACIÓN. (ROTACIÓN - ESTACIONARIA) ................................................. 11
FIGURA 8.ESCÁNER DE QUINTA GENERACIÓN. (ROTACIÓN - NUTACIÓN) ......................................................... 11
FIGURA 9.TAC CONVENCIONAL (IZQUIERDA) Y EL TAC HELICOIDAL (DERECHA). ............................................ 12
FIGURA 10. POLARIZACIÓN DE LAS MOLÉCULAS DE H2O EN UN CAMPO MAGNÉTICO. ....................................... 14
FIGURA 11. REPRESENTACIÓN GRÁFICA DEL MOMENTO MAGNÉTICO DE UN NÚCLEO DE HIDRÓGENO. ............. 14
FIGURA 12.ENCABEZADO DE UN FICHERO DICOM ........................................................................................ 16
FIGURA 13. REPRESENTACIÓN GRÁFICA DEL DATA SET Y EL DATAELEMENT DICOM. ..................................... 17
FIGURA 14. RESULTADO DE APLICAR EL FILTRO DEL NEGATIVO A UNA IMAGEN EN ESCALA DE GRISES. IMAGEN
ORIGINAL (IZQUIERDA) E IMAGEN TRANSFORMADA (DERECHA). ............................................................... 19
FIGURA 15. RESULTADO DE APLICAR UNA TRANSFORMACIÓN LOGARÍTMICA A UNA IMAGEN DE POBRE
CONTRASTE. IMAGEN ORIGINAL (IZQUIERDA) E IMAGEN TRANSFORMADA (DERECHA) ................................ 20
FIGURA 16. RESULTADO DE APLICAR UNA TRANSFORMACIÓN EXPONENCIAL A UNA IMAGEN. ............................ 21
FIGURA 17. GRÁFICA DE UNA FUNCIÓN DE TRANSFORMACIÓN DEL HISTOGRAMA DEFINIDA POR PARTES. .......... 22
FIGURA 18. RESULTADO DE LA ECUALIZACIÓN DEL HISTOGRAMA DE UNA IMAGEN. IMAGEN E HISTOGRAMA
ORIGINAL (IZQUIERDA) .......................................................................................................................... 23
FIGURA 19. MASCARA 3X3 .......................................................................................................................... 24
FIGURA 20.SEGMENTACIÓN CON UMBRAL GLOBAL DE UNA IMAGEN CON GRANOS DE ARROZ. (A) HISTOGRAMA
CORRESPONDIENTE A LA IMAGEN ORIGINAL Y EN (B) LA IMAGEN RESULTADO DE LA SEGMENTACIÓN. .......... 27
FIGURA 21.(A) IMAGEN QUE SE LE HA MARCADO UN PUNTO INTERIOR A LA REGIÓN A SEGMENTAR. (B) – (D)
PROCESO DE CRECIMIENTO DE LA MARCADA. ......................................................................................... 28
FIGURA 22.VISTA 2D DE UNA ISOSUPERFICIE. .............................................................................................. 31
FIGURA 23.CASOS DE TRIANGULACIÓN MARCHING CUBES. ........................................................................... 32
FIGURA 24. POSIBLE TRIANGULACIÓN DEL MARCHING CUBES PARA DOS CUBOS VECINOS. AMBAS SON
TRIANGULACIONES VÁLIDAS PARA CADA UNO DE LOS CUBOS DE FORMA INDEPENDIENTE PERO AL UNIRSE
GENERAN UN TRIÁNGULO INCONSISTENTE Y HUECOS. ............................................................................. 32
FIGURA 25. TABLA DE CONFIGURACIONES DEL MARCHING TETRAHEDRON. .................................................... 33
FIGURA 26. ALGORITMO CUBICAL MARCHING SQUARE. ................................................................................. 34
FIGURA 27. MARCHING VÓXEL. EJEMPLO DE TRIÁNGULOS GENERADOS PARA UN VÓXEL INTERNO. .................. 35
FIGURA 28. REPRESENTACIÓN DE UNA REJILLA BIDIMENSIONAL. (GRID 2D) ................................................... 42
FIGURA 29. REPRESENTACIÓN DE UNA REJILLA TRIDIMENSIONAL. (GRID 3D).................................................. 43
X
FIGURA 30. REPRESENTACIÓN DE UNA CELDA DE UN GRID 3D CONSTITUIDA POR 8 VÓXELES. ......................... 44
ALGORITMO 1. SEUDO CÓDIGO DEL ALGORITMO VÓXEL GROWING. ............................................................... 51
FIGURA 31. VECINDADES DE UN VÓXEL. ....................................................................................................... 52
FIGURA 32. ENUMERACIÓN DE LOS VÉRTICES Y LAS ARISTAS DEL CUBO PARA MARCHING CUBES. ................... 53
FIGURA 33. DIAGRAMA DE CASOS DE USOS DEL SISTEMA. ............................................................................ 58
TABLA 1. DESCRIPCIÓN DEL CASO DE USO CARGAR DATOS. ........................................................................ 59
TABLA 2. DESCRIPCIÓN DEL CASO DE USO SEGMENTAR. .............................................................................. 60
TABLA 3. DESCRIPCIÓN DEL CASO DE USO RECONSTRUIR MODELOS 3D. ...................................................... 61
FIGURA 34.DIAGRAMA DE CLASES DE ANÁLISIS DEL SISTEMA. ....................................................................... 62
FIGURA 35.DIAGRAMA DE SECUENCIA DEL CASO DE USO CARGAR FICHERO. ................................................. 63
FIGURA 36. DIAGRAMA DE SECUENCIA DEL CASO DE USO SEGMENTAR. ........................................................ 63
FIGURA 37. DIAGRAMA DE SECUENCIA DEL CASO DE USO RECONSTRUIR. ..................................................... 64
FIGURA 38. VISTA GLOBAL DEL DISEÑO. DIAGRAMA DE PAQUETES DEL DISEÑO. ............................................ 65
FIGURA 39. DIAGRAMA DE CLASES DEL PAQUETE – ESTRUCTURAS DE DATOS. .............................................. 66
FIGURA 40. DIAGRAMA DE CLASES DEL PAQUETE – ADQUISICIÓN DE DATOS. ................................................. 67
FIGURA 41. DIAGRAMA DE CLASES DEL PAQUETE – SEGMENTACIÓN. ............................................................ 68
FIGURA 42. DIAGRAMA DE CLASES DEL PAQUETE – RECONSTRUCCIÓN. ........................................................ 69
FIGURA 43. DIAGRAMA DE CLASES DEL PAQUETE – VISUALIZACIÓN. .............................................................. 70
1
Introducción.
En la actualidad la información en forma de imágenes ha adquirido una gran importancia en el campo de
la medicina. En los últimos años han surgido una gran variedad de equipos y aparatos médicos para
obtener imágenes de algún órgano en específico del paciente, gracias a que la tecnología ha avanzado
gradualmente, el médico especialista dispone de imágenes médicas de diversas modalidades, tales como:
Tomografías Computarizadas (CT), Resonancias Magnéticas (MRI), Encefalogramas, Ultrasonidos, entre
otros. Todos estos equipos exportan sus imágenes en ficheros DICOM, el estándar internacional para
imágenes médicas digitales.
Las herramientas informáticas y los métodos de tratamiento, análisis y visualización de imágenes digitales
han resultado de gran utilidad para el desarrollo de aplicaciones médicas de diversos tipos. Estas
aplicaciones son de gran utilidad en la medicina para facilitar y permitir un aprovechamiento adecuado de
la cuantiosa información disponible sobre las imágenes de los pacientes.
Actualmente las aplicaciones de tratamiento y análisis de imágenes médicas aparecen frecuentemente
integrados con aplicaciones de visualización tridimensional (3D), y con un fuerte apoyo de técnicas de
reconstrucción 3D. A los usuarios de estas aplicaciones como radiólogos, cirujanos, etc., les resulta de
mucha utilidad en planeaciones de cirugía, ortopedia, traumas músculo-esqueléticos, visualización de
órganos, o de partes del cerebro para su estudio, entre otros. Los equipos de radiología utilizados para el
estudio de estas imágenes traen integrados varios software, algunos de estos son limitados en cuanto al
análisis de las imágenes, y su visualización. En el mercado existe una gran variedad de este tipo de
sistemas, algunos resultan un tanto ineficientes y otros son excelentes pero muy costosos. De cualquier
forma, los usuarios de estas aplicaciones demandan de forma creciente aplicaciones que integren
técnicas de tratamiento y análisis de imágenes con funcionalidades de visualización tridimensional, que
sean eficientes, confiables y robustas.
La Realidad Virtual (RV), como una de las expresiones más destacadas de la digitalización, permite
abordar estos temas desde un punto de vista más científico, y orientado a lograr una pseudorrealidad
alternativa, perceptivamente hablando. Puesto que se entiende como RV a la simulación por
2
computadora, dinámica y 3D, con alto contenido gráfico, acústico y táctil, orientada a la visualización de
situaciones y variables complejas, durante la cual el usuario ingresa, a través del uso de sofisticados
dispositivos de entrada, a "mundos" (o entornos) que aparentan ser reales, resultando inmerso en
ambientes altamente participativos, de origen artificial. La Realidad Virtual en nuestros días ha logrado
insertarse en las más diversas áreas del conocimiento humano en especial en el área médica, mediante la
creación de Simuladores Quirúrgicos (SQ). Estos simuladores se caracterizan por sus grandes exigencias
tanto visual como en el sentido del tacto, sentidos que son fundamentales en la cirugía; además de tener
como uno de sus principios esenciales la modelación y simulación del comportamiento de los órganos y
de las herramientas que intervienen en una determinada operación, donde el clínico observa y es capaz
de sentir como si estuviera operando a un paciente de forma real. Sobre todo en los SQ utilizados para el
entrenamiento de la cirugía de mínimo acceso como: la cirugía laparoscópica, la artroscopía, la radiología
y la endoscopía.
En función de los avances aplicados en el desarrollo de Simuladores Quirúrgicos y de los objetivos que
éstos persiguen, se pueden agrupar en tres generaciones tecnológicamente secuenciales:
1. La primera generación: formada por los Simuladores Quirúrgicos que únicamente consideran la
naturaleza geométrica de la anatomía humana.
2. La segunda generación: está constituida por aquellos que, además, permiten la interacción física
con las estructuras anatómicas.
3. La tercera generación: que además de las características ya mencionadas de la segunda
concepción, tienen en cuenta la naturaleza funcional de los órganos.
Actualmente, la gran mayoría de las investigaciones y los desarrollos de simuladores de estas
características se encuentran dentro del grupo de la segunda generación.
Los SQ ideales o de generaciones superiores, deben estar formados por varias fases adicionales, como
por ejemplo: la utilización como punto de entrada al proceso de simulación, de modelos o estructuras
anatómicas obtenidos de la reconstrucción 3D de imágenes médicas digitales (DICOM), en vista de
reproducir con una gran exactitud la anatomía de un paciente determinado.
3
En nuestro país, poco a poco ha ido creciendo el desarrollo de Sistemas de Realidad Virtual junto a las
investigaciones y los avances tecnológicos aplicados al campo de la medicina, muchas empresas,
universidades, grupos de investigación y desarrollo están colaborando en pos de estos adelantos.
Ejemplo de esto es la Universidad de Ciencias Informáticas, creada al calor de la batalla de ideas para
apoyar el desarrollo científico y tecnológico del país, donde la docencia está guiada por la producción
mediante la creación de proyectos productivos que respondan a las esferas económicas de la nación. Así
surge, en la Facultad # 5 de dicha universidad, un proyecto para el desarrollo de Simuladores Quirúrgicos
debido a la necesidad que tiene nuestro país de sistemas de software que contribuyan a mejorar la
formación de especialistas en la esfera quirúrgica, favoreciendo la reducción de errores durante el proceso
de formación dentro de dicha especialidad, dando la posibilidad de repetir los procedimientos tantas veces
sea necesario sin la utilización de cadáveres o pacientes reales en el entrenamiento, reduciendo de esta
manera los costes de riesgo asociados al proceso de formación de los especialistas en cirugía; además de
posibilitar la planificación y práctica sobre la anatomía del paciente específico previamente a su
intervención quirúrgica real.
En dicho proyecto no existe una herramienta que a partir de una serie de imágenes DICOM, realice la
reconstrucción y generación de modelos anatómicos 3D que serán utilizados en los diferentes módulos de
entrenamiento del simulador quirúrgico, por lo que los modelos deben desarrollarse en una herramienta de
diseño como 3D Studio Max. Esto retrasa la entrega del software y provoca la esquematización de la
anatomía humana, que es un elemento único y característico de cada persona, disminuyendo el nivel de
realismo de la simulación. Dada la situación problémica anteriormente expuesta, se plantea como
problema: ¿Cómo lograr que los modelos anatómicos 3D visualizados en el Simulador Quirúrgico
representen la anatomía real de una persona? A raíz de esto, el trabajo toma como objeto de
investigación: los modelos anatómicos 3D en los Simuladores Quirúrgicos. Y dentro de esta extensa
rama se propone como campo de acción: la reconstrucción de modelos anatómicos 3D a partir de
imágenes DICOM, en los Simuladores Quirúrgicos.
El objetivo de esta investigación es elaborar una herramienta para la reconstrucción y generación de
modelos anatómicos 3D, a partir del procesamiento de imágenes médicas digitales. Este trabajo defiende
la siguiente idea: el empleo de técnicas y algoritmos de procesamiento de imágenes digitales y
4
reconstrucción de modelos 3D a partir de imágenes DICOM, aumentará el nivel de realismo de los
modelos anatómicos 3D empleados en el software de simulación quirúrgica para el entrenamiento médico.
Para dar cumplimiento a los objetivos planteados en este trabajo se necesita un grupo de tareas
investigativas a las cuales se hará referencia:
1. Identificar y Caracterizar las principales etapas que conforman el proceso de reconstrucción 3D a
partir de imágenes.
2. Analizar la estructura y especificación del formato de las imágenes DICOM.
3. Cargar y Visualizar las imágenes DICOM.
4. Identificar y caracterizar las principales técnicas y algoritmos de programación para la
segmentación de imágenes médicas.
5. Identificar y caracterizar las principales técnicas y algoritmos de programación basados en la
reconstrucción, a partir de imágenes DICOM, de estructuras anatómicas tridimensionales.
6. Seleccionar las técnicas y algoritmos de segmentación y de reconstrucción a aplicar en el proceso
de elaboración de la herramienta.
7. Analizar la estructura y especificación de los principales formatos existentes que almacenan
información de modelos 3D. (Ej.: *.3ds, *.ase).
8. Definir la estructura y especificación del formato de fichero en que se exportará la información de
los modelos anatómicos 3D resultantes del proceso de reconstrucción.
9. Elaborar una herramienta que realice la reconstrucción y generación de las estructuras anatómicas
a partir de una serie de imágenes digitales de un estudio médico de Tomografía Axial
Computarizada, Resonancia Magnética, Angiografías y otras técnicas.
5
Capítulo 1. Fundamentación Teórica.
1.1. Adquisición de Imágenes Médicas Digitales.La adquisición de imágenes médicas es el proceso inicial que debe seguir cualquier aplicación que
involucre el análisis y procesamiento de imágenes médicas digitales. En este epígrafe se describen
algunas de las diferentes modalidades de obtención de imágenes médicas. Aunque se abordan algunos
aspectos físicos y técnicos de los sistemas de adquisición de datos médicos, no es objetivo de este
trabajo profundizar en ellos sólo se describirán los aspectos necesarios para un futuro entendimiento de
las propiedades individuales de las imágenes adquiridas. La caracterización individual de cada modalidad,
permitirá establecer una relación entre las propiedades de las imágenes obtenidas y los procesos de
mejoramiento, filtrado, reconstrucción y análisis de imágenes.
Además se describe y especifica la estructura interna del fichero estándar para el almacenamiento de las
Imágenes Médicas Digitales (DICOM), el cual será la fuente principal de adquisición de datos.
1.1.1. Modalidades de Adquisición de Imágenes.
Los sistemas de adquisición de imágenes médicas para el diagnóstico de pacientes, se clasifican de
acuerdo a la forma en que se adquieren los datos en:
Rayos X.
Tomografía Axial Computarizada. (TAC o TC)
Resonancia Magnética. (MRI o MR)
Ultrasonido 2D y 3D. (US)
Tomografía de Emisión de Positrones. (PET)
Tomografía de Emisión Simple de Fotones. (SPECT)
Infrarrojos e imágenes ópticas. (IR)
Microscopios Electrónicos. (TEM)
Tomografías de Impedancia Eléctrica. (IT)
Otras modalidades de adquisición son referenciadas en [1]. Es importante destacar que las modalidades
de adquisición de imágenes mencionadas no son de uso exclusivo en la medicina, muchas de ellas son
aplicadas en otras áreas del conocimiento como: la industria, la biología, la ecología, la arqueología, la
arquitectura, entre otras.
6
1.1.1.1. Rayos X
La modalidad de Rayos X, es considerada en la historia como la primera usada en la adquisición de
imágenes médicas. Su descubrimiento en 1985 por el físico alemán Wilhelm Conrad Röntgen, fue uno de
los descubrimientos que mayor repercusión ha tenido en la ciencia y marca el nacimiento de la
imagenología médica.
El diagnóstico radiológico se basa en la obtención de imágenes con radiación ionizante. La formación de
una imagen radiográfica involucra tres etapas: la producción de los Rayos X, el transporte de esta
radiación a través del paciente y la detección de la radiación transmitida.
Los Rayos X se producen siempre que una substancia es irradiada con electrones de alta energía. Un
tubo convencional de Rayos X consiste básicamente de un cátodo y un ánodo colocados dentro de un
envase de vidrio al vacío Figura 1.
Figura 1. Diagrama esquemático de un tubo de Rayos X.
El cátodo consiste de un filamento de tungsteno que al ser calentado emite electrones. Estos electrones
son acelerados, debido a una diferencia de potencial aplicada entre el cátodo y el ánodo, hacia un blanco
montado en el ánodo. Para tener un mayor control en la calidad del haz de Rayos X, es necesario que los
electrones no sean desviados de su trayectoria, y para esto se requiere de un alto vacío. Los electrones al
ser frenados bruscamente en el blanco, emiten radiación electromagnética con un espectro continuo de
energías entre 25 y 150 kV, que es lo que se conoce como Rayos X. [1, 2]
El número atómico del material del que está construido el blanco y la velocidad del haz de electrones
determina la energía máxima y la forma del espectro. El haz tiene dos componentes, una de ellas es
continua y corresponde a la radiación de frenado y la otra es discreta. A esta última se le conoce como
radiación característica y se debe a transiciones electrónicas entre estados excitados en átomos del
blanco. El blanco puede ser de tungsteno para radiografía general ya que este material emite radiaciones
7
con características apropiadas para la visualización de huesos, o de molibdeno para mamografía y
angiografías ya que en este caso específico de Rayos X es necesario resaltar estructuras anatómicas
blandas.
La base fundamental para la aplicación de los Rayos X en muchas áreas de la ciencia, es su propiedad de
atenuación exponencial. Los Rayos X al atravesar un material pueden ser absorbidos o dispersados en su
trayectoria, lo cual resulta en una disminución en la intensidad original. Los procesos de absorción o
dispersión se deben a interacciones entre los átomos del medio y los Rayos X. Las interacciones más
importantes entre los Rayos X y los átomos del material son: el efecto fotoeléctrico, la dispersión de
Rayleigh (dispersión coherente) y la dispersión de Compton (dispersión incoherente). [1, 3]
Figura 2. Atenuación exponencial de Rayos X Mono Energéticos.
La reducción en intensidad depende de la energía de los Rayos X, de la composición atómica del material
irradiado y del grueso del mismo. La Figura 2 muestra esquemáticamente un haz de Rayos X mono
energético con una intensidad inicial I0, que atraviesa un material de grueso x. La intensidad del haz a la
salida Ix se reduce por un factor e-µx, en donde µ es el coeficiente de atenuación lineal, el cual es una
propiedad intrínseca del material irradiado. (Ver Ecuación 1).
Una radiografía convencional es una imagen bidimensional de un objeto tridimensional. Esto significa que
toda la información en profundidad se pierde, pues los diferentes niveles de gris en la imagen, dan
información sobre la atenuación de los Rayos X a lo largo de una trayectoria en el espacio tridimensional
(Figura 3).
8
Figura 3. Formación de una imagen plana con rayos X.
La intensidad de cada tono de gris proporciona información acerca de la densidad de los tejidos
atravesados. Dado que el cuerpo humano puede describirse como una función continua de coeficientes de
atenuación lineal, µ(x, y, z), la intensidad del haz de Rayos X, I (x, y), en el plano en donde se forma la imagen
está representada por una integral de la forma:
De entre los usos médicos de la radiación, el examen de pacientes mediante Rayos X con el propósito de
dar un diagnóstico es, por mucho, el más frecuente; por lo que las técnicas de Rayos X [1] han
evolucionado rápidamente especializándose en adquisición de radiografías de partes particulares del
cuerpo humano. El objetivo del diagnóstico radiológico es proporcionar información anatómica al médico
sobre el interior del paciente. Los Rayos X constituyen una herramienta ideal para sondear, de manera
``no invasiva'', el interior del cuerpo humano.
La principal de desventaja de los Rayos X en el diagnóstico médico, radica en que: La imagen obtenida
corresponde a una proyección bidimensional (2D) de un volumen tridimensional (3D), por lo que toda la
información referente a la coordenada z se pierde, siendo imposible que partiendo de las imágenes
individuales se pueda reconstruir algorítmicamente el volumen 3D del objeto escaneado.
1.1.1.2. Tomografía Axial Computarizada.
La tomografía Axial Computarizada (TAC o TC) fue introducida en 1968 por Godfrey Hounsfield, siendo la
primera vez que mediante proyecciones bidimensionales se logra la representación volumétrica de un
objeto tridimensional escaneado.
Su funcionamiento se basa en un sistema emisor/receptor que rota alrededor de un objeto, del cual se
obtienen una serie de imágenes individuales; de las cuales se reconstruye el volumen del objeto
escaneado. Desde su aparición en 1968 los sistemas de TAC han evolucionado con el fin de lograr
adquirir imágenes de mayor calidad en menores tiempos de rastreos.
9
Primera Generación. Rotación – Translación Tipo I.
El funcionamiento se basa en un tubo de Rayos X y un detector, este sistema hace movimientos de
translación y rotación para escanear un objeto (Figura 4). Para obtener un corte tomográfico son
necesarias muchas mediciones y, por tanto muchas rotaciones del sistema, lo que nos lleva a tiempos de
corte muy grandes (superiores a 5 minutos). [2, 3]
Figura 4. Escáner de primera generación. Tipo I (Rotación - Translación)
Segunda Generación. Rotación – Translación Tipo II.
Los tomógrafos de este tipo funcionan de forma similar a los de Tipo I, la única diferencia es que los de
Tipo II usan varios detectores por lo que el tubo de Rayos X emite haz de rayos en forma de abanico
(Figura 5), en vez de un haz de rayos puntual, como lo hacen los de Tipo I; con esto se consigue que el
tiempo de corte sea menor que el de los tomógrafos de Tipo I. [2, 3]
Figura 5.Escáner de primera generación. Tipo II (Rotación - Translación)
10
Tercera Generación. Rotación – Rotación.
En esta generación de TAC el tubo de Rayos X y la matriz de detectores giraban en movimientos
concéntricos alrededor del paciente. Como equipos de sólo rotación, los escáneres de tercera generación
son capaces de producir una imagen por segundo.
En esta generación los detectores están dispuestos de forma curvilínea, y la anchura del abanico formado
por el haz de Rayos X es de unos 30o – 60o, de forma tal que se permite ver al paciente completo en todos
los barridos.
La disposición curvilínea de los detectoresse traduce en una longitud constante de la trayectoria del
conjunto fuente-detector (Figura 6), lo que ofrece ventajas a la hora de reconstruir las imágenes. Esta
característica de la matriz de detectores de tercera generación permite además obtener una mejor
colimación del haz de Rayos X, con la reducción de la radiación dispersa. [2, 3]
Una de las principales desventajas de los escáneres de tercera generación es: la aparición ocasional de
artefactos, debida un fallo de algún detector.
Figura 6.Escáner de tercera generación. (Rotación - Rotación)
Cuarta Generación. Rotación – Estacionaria.
Los escáneres de cuarta generación poseen sólo movimiento rotatorio. El tubo de Rayos X gira, pero la
matriz de detectores no. La detección de la radiación se realiza mediante una disposición circular fija de
detectores. El haz de Rayos X tiene forma de abanico, con características similares a las de los haces
usados en equipos de tercera generación. Estas unidades alcanzan tiempos promedio de barrido de 1
segundo y pueden cubrir grosores de corte variables, así como suministrar las mismas posibilidades de
manipulación de la imagen que los modelos de generaciones anteriores.
11
La matriz de detectores fijos de los escáneres de cuarta generación no produce una trayectoria de haz
constante desde la fuente a todos los detectores, sino que permite calibrar cada detector y normalizar su
señal durante cada barrido.
El principal inconveniente de los escáneres de cuarta generación es la alta dosis que recibe el paciente,
bastante superior a la que se asocia a los otros tipos de escáneres. [2, 3]
Figura 7. Escáner de cuarta generación. (Rotación - Estacionaria)
Quinta Generación. Estacionaria – Nutación.
Los modelos de esta generación de escáneres también utiliza un anillo de detectores, pero en este caso el
tubo de Rayos X gira por fuera del anillo y los detectores realizan un movimiento de nutación [2, 3] para
permitir el paso del haz de rayos X (Figura 8). Si bien el sistema mecánico para producir el movimiento de
nutación de los detectores resulta complejo y costoso, con este tipo de tomógrafo se han obtenido
exploraciones de muy alta resolución en tan sólo un segundo.
Figura 8.Escáner de quinta generación. (Rotación - Nutación)
12
Tomografía Axial Helicoidal.
Actualmente los sistemas de tomografías más utilizados son los escáneres helicoidales (Figura 9), en los
cuales el conjunto emisor/recepto rota permanentemente alrededor del objeto, mientras que el paciente es
movido continuamente en dirección perpendicular a la rotación, la velocidad de traslación del paciente
determina la distancia entre el corte i y el corte i+1. Este tipo de escáner tiene un tiempo de rastreo muy
corto, los tomógrafos elípticos más avanzados realizan 64 cortes (imágenes) por cada una de las
secciones de volumen escaneadas, lo que garantiza luego una excelente reconstrucción 3D del volumen
de interés, ya que las distancias entre las imágenes obtenidas son inferiores o iguales a un milímetro.[1, 2]
Figura 9.TAC Convencional (Izquierda) y el TAC Helicoidal (Derecha).
Comparación entre la Tomografía Axial Computariza y los Rayos X.
La tomografía Axial Computarizada tiene una gran cantidad de ventajas que la hacen muy superior a las
técnicas tradicionales de radiografías por Rayos X, estas son:
1. Localización espacial de las estructuras anatómicas.
2. Sensibilidad.
3. Facilidad de realización del diagnóstico.
Localización espacial de las estructuras anatómicas.
En los Rayos X convencionales, la salida del escáner es una única imagen correspondiente a la
proyección en un plano del cuerpo del paciente, la misma es el resultado de la combinación de todas las
capas que forman el volumen del objeto radiografiado, no existe forma de separar a partir de la imagen
final las distintas capas del volumen que le dieron origen [Epígrafe 1.1.1.1]; por lo que es imposible
representar la información de profundidad a los médicos especialista de forma explícita en dichas
imágenes.
13
A diferencia de los Rayos X, en las TAC la salida del escáner es una serie de cortes orientados en una
determinada dirección y ordenados según la profundidad en la dirección de corte definida. Es por ello que
para los radiólogos pueden tener una localización exacta de las estructuras anatómicas de interés.
Sensibilidad.
Las imágenes de tomografía son más sensibles que las obtenidas por una radiografía. En las imágenes de
Rayos X las estructuras anatómicas de composición blanda son difíciles de diferenciar unas de otras,
como son el caso de hígado y el páncreas. Debido a que ambas son representadas en la imagen final con
intensidades de grises similares. Sin embargo en las imágenes de tomografía se establece una diferencia
de en contraste entre ambos tipos de tejidos a partir del concepto de la Unidad de Housnfield [1, 4, 5].
Esta diferencia de contraste entre los tejidos de composición blanda en las imágenes de TAC, aunque es
perceptible por el ojo humano, es pequeña; por lo que se recomienda que para estudios patológicos en
estructuras anatómicas de composición blanda, se utilicen Imágenes de Resonancia Magnética (MRI) [1].
Facilidad de realización del diagnóstico.
Junto con lo expresado en los dos tópicos anteriores, el hecho de que el cálculo de la absorción y/o
atenuación de los Rayos X al atravesar el volumen se calcula con mayor precisión en las tomografías que
en las radiografías; la calidad visual de la imagen obtenida en los TAC es superior a las de Rayos X
convencionales. Por lo que a los radiólogos les resulta más fácil el diagnóstico a partir de imágenes de
TAC.
1.1.1.3. Resonancia Magnética.
Los equipos de adquisición de Imágenes de Resonancia Magnética, como su nombre lo indica, son
máquinas con muchos componentes que se integran con gran precisión para obtener información sobre la
distribución de los átomos en el cuerpo humano; utilizando el fenómeno de Resonancia Magnética. El
elemento principal del equipo es un imán capaz de generar un campo magnético constante de gran
intensidad. Actualmente, se utilizan imanes con intensidades de campo de entre 0.15 y 7 teslas. El campo
magnético constante se encarga de alinear los momentos magnéticos de los núcleos de hidrógeno
presentes en las moléculas de agua (H2O) de los tejidos del cuerpo humano, básicamente en dos
direcciones, paralela y anti-paralela al campo magnético (Figura 10). La intensidad del campo y el
momento magnético del núcleo determinan la frecuencia de resonancia de los núcleos, así como la
proporción de núcleos que se encuentran en cada uno de los dos estados. [1, 3]
14
Figura 10. Polarización de las moléculas de H2O en un campo magnético.
Debido a que el imán principal genera un campo constante, todos los núcleos que posean el mismo
momento magnético (Figura 11) tendrán la misma frecuencia de resonancia, pero con el mismo valor
desde todas las partes del cuerpo, de manera que inicialmente no existe información espacial o
información de dónde se produce la resonancia.
Figura 11. Representación Gráfica del Momento Magnético de un Núcleo de Hidrógeno.
Para resolver este problema se añaden bobinas, llamadas bobinas de gradiente. Cada una de las bobinas
genera un campo magnético de una cierta intensidad con una frecuencia controlada. Estos campos
magnéticos alteran el campo magnético ya presente y, por tanto, la frecuencia de resonancia de los
núcleos. Utilizando tres bobinas ortogonales es posible asignarle a cada región del espacio una frecuencia
de resonancia diferente, de manera que cuando se produzca una resonancia a una frecuencia
determinada será posible determinar la región del espacio de la que proviene.
Para generar las imágenes de Resonancia Magnética, las señales medidas en las bobinas son
almacenadas en funciones de tiempo y convertida, mediante las transformadas de Fourier [6] y un
espacio vectorial, en función de su frecuencia de resonancia. Esto posibilita determinar la intensidad
15
relativa de cada píxel de un plano tomográfico, según una escala de grises, obteniéndose de esta forma
las imágenes que se representan en el monitor digital.
Resonancia Magnética versus Tomografía Axial Computarizada y Rayos X.
La Imágenes de Resonancia Magnética tiene ventajas significativas sobre los restantes sistemas de
diagnóstico por imagen empleadas en la actualidad:
La Imágenes de Resonancia Magnéticas no se basan en un solo parámetro para la adquisición de los
datos, como el coeficiente de atenuación de rayos X, base de la Radiografía Convencional (Rayos X) y la
Tomografía Computarizada, sino en una serie parámetros [1] que permiten obtener una imagen final con
alto contraste entre las diferentes estructuras anatómicas que conforman el organismo humano;
especialmente de estructuras blandas, pues son las que están compuestas de mayor cantidad agua, y por
ende las que mayor cantidad átomos de hidrógenos presentan.
Son menos sensibles a la presencia de artefactos por la presencia de implantes; ya que esta modalidad
de adquisición de imágenes está contraindicada para personas con implantes metálicos.
La imagen se obtiene mediante campos magnéticos de radiofrecuencia, con lo que se evitan incluso
pequeños riesgos que acompañan a las dosis bajas de radiación administradas en TAC o en los
exámenes convencionales de Rayos X.
El igual que en las TAC se pueden obtener imágenes volumétricas, sin modificar la posición del paciente.
Nos permite realizar cortes menores de 1.0 milímetro, lo que posibilita localizar lesiones de pocos
milímetros.
Sin embargo una de las mayores desventajas que presenta esta técnica es que para estudios de alta
calidad se requieren de tiempos de rastreos elevados, por lo que la calidad de las imágenes se ve
muchas veces afectadas por los movimientos de los pacientes, especialmente movimientos respiratorios.
1.1.2. Especificación del Estándar DICOM.
Las necesidades de almacenamiento y manipulación de imágenes médicas, surge a partir de los años
70’s como consecuencia del nacimiento de la radiografía y tomografía computarizada como medios de
diagnóstico basado en imágenes digitales. Desde entonces, se han desarrollado diferentes técnicas y
equipos para la adquisición de imágenes médicas digitales, tales como: la medicina nuclear [1], la
resonancia magnética [Epígrafe 1.1.1.3], la radiografía [Epígrafe 1.1.1.1], la tomografía axial
computarizada [Epígrafe 1.1.1.2], la angiografía, entre otras.
16
Junto con el desarrollo de las imágenes médicas digitales nacen en el mercado grandes cantidades de
compañías productoras de equipos médicos especializados en la obtención y visualización de imágenes
médicas digitales a partir de estudios computarizados realizados a pacientes mediante las modalidades de
Tomografía Axial Computarizada (TAC), Resonancia Magnética, etc., debido a éste fenómeno la
comunidad productora de equipos médicos se vio obligada a establecer un estándar de comunicación
entre los productos de hardware y software desarrollados por diferentes productores.
En 1992 quedó establecido el Estándar para el Tratamiento Digital de Imágenes y Comunicación en
Medicina (DICOM). DICOM está basado en el estándar ACR-NEMA y fue lanzado por el Colegio
Americano de Radiografía (ACR) y por la Asociación Nacional de Fabricantes Eléctricos (NEMA) para
satisfacer las necesidades de conectividad entre equipos de tratamientos de imágenes en medicina [4, 7].
1.1.2.1. Formato de un Archivo DICOM.
Cada archivo DICOM almacena toda la información sobre el paciente, el tipo de exploración ylas
imágenes, así como toda la información espacial de los cortes que permiten conformar el volumen
tridimensional del paciente al cual se le realizó el estudio.
El fichero DICOM (extensión *.dcm) consiste en dos partes: Una cabecera (Header) seguido
inmediatamente por un bloque de datos (en inglés DataSet).
Header.
Como se observa en la Figura 12 consiste en 128 bytes (Preámbulo) que no tiene porqué contener
información DICOM y son usados para compatibilidad con otros formatos de ficheros, seguido de un
prefijo DICOM de 4 byte. [4, 7]
Figura 12.Encabezado de un fichero DICOM
17
DataSet.
Representa una instancia de la información del estudio realizado a un paciente; está constituido por varios
atributos o elementos de datos (del inglés DataElement) [4, 7] que es una etiqueta que va a contener
información relevante del DataSet. Ver Figura 13.
DataElement.
Un DataElement tendrá una de tres estructuras, Figura 13. Dos de estas estructuras contienen la
Representación del Valor (VR) del elemento de datos de forma explícita (VR explícito); pero se diferencian
en la manera en que se expresan sus longitudes, mientras que la otra estructura no contiene el VR(VR
implícito). Las tres estructuras contienen la Etiqueta del DataElement (TAG), la Longitud en bytes del Valor
almacenado en el campo de datos del DataElement (VL) y el Valor para el DataElement (VF). [4, 7]
TAG.- Etiqueta de identificación, compuesto por el número del grupo y número del
elemento dentro del grupo.
VR.- Valor de representación que indica el tipo de dato almacenado (entero, real, cadena
de caracteres, etc.)
VALUE LENGTH.- Indica la longitud del dato.
VALUE FIELD.- Datos, proporciona información del paciente, análisis realizado, o de la
imagen obtenida, dependiendo del valor de la etiqueta.
Figura 13. Representación gráfica del Data Set y el DataElement DICOM.
18
1.2. Procesamiento de Imágenes.
1.2.1. Mejoramiento Digital de Imágenes.
El objetivo fundamental del mejoramiento digital de imágenes es, como su nombre lo indica, mejorar la
apariencia de una escena para la vista humana o destacar información adicional acerca de un objeto no
claramente observable en la imagen original.
El término de mejoramiento digital de imágenes tiene un carácter netamente subjetivo, en el sentido de
que dos o más observadores pueden tener criterios diferentes para una misma imagen supuestamente
mejorada. Lo que para un observador puede ser mejoramiento, para otro puede ser ruido.
En el mejoramiento digital de imágenes cabe distinguir, entre otros, los aspectos siguientes:
1. Mejoramiento de la calidad visual de la imagen. (Mejoramiento del Contraste)
2. Realce de Bordes. (Detección de Discontinuidades)
3. Eliminación o Atenuación de determinadas intensidades. (Homogenización de Regiones)
1.2.1.1. Mejoramiento del Contraste.
Existe una amplia gama de métodos para lograr un mejoramiento de la calidad visual de las imágenes en
cuanto a brillo y contraste. La idea básica de estos métodos está dada por la ecuación:
Donde T es una función que transforma el valor de intensidad del pixel r en un nuevo valor de intensidad
s, obteniendo de esta forma una nueva imagen y por ende un nuevo histograma.
Transformaciones básicas de intensidades.
Imagen Negativa.
El negativo de una imagen con intensidades en el rango [0, L-1] es obtenido usando la siguiente función
de transformación:
Invirtiendo los valores de intensidades de los pixeles en una imagen en tonos de grises utilizando esta
función lo que se obtiene es el equivalente al negativo de una fotografía, Figura 14.
19
Figura 14. Resultado de Aplicar el Filtro del Negativo a una Imagen en escala de grises. Imagen Original (Izquierda) e Imagen Transformada (Derecha).
Este tipo de procesamiento es particularmente utilizado para realzar detalles claros en regiones oscuras
de la imagen, especialmente cuando las regiones oscuras son dominantes en cuanto a tamaño en la
imagen original. [8]
Transformación Logarítmica.
La forma general de una función de transformación logarítmica se define en la siguiente ecuación:
Donde c es una constante y r es el valor de intensidad de un pixel en la imagen por que se asume que
(r>= 0). La forma de la curva de una función logarítmica, Figura 15, muestra que esta transformación
transforma las intensidades de los pixeles con valores de grises bajos de la imagen original en valores de
intensidades elevados en la imagen resultante, mientras que los valores de intensidades altos en la
imagen original se mantienen casi constantes. [8]
20
Figura 15. Resultado de Aplicar una transformación logarítmica a una imagen de pobre contraste. Imagen Original (Izquierda) e Imagen Transformada (Derecha)
Transformación Exponencial.
La función de transformación exponencial de una imagen tiene la siguiente forma:
Donde c y son constantes positivas. Cuando se cumple que esta función tiene un
comportamiento similar a la transformación logarítmica, Figura 16. En muchos dispositivos de trabajos
con imágenes por convenio se tomó el parámetro de la transformación exponencial como el factor de
corrección gamma de la imagen en las acciones de impresión y visualización de las mismas. [8]
21
Figura 16. Resultado de aplicar una transformación exponencial a una imagen.
Transformación basada en Fusiones Lineales definidas por partes.
Las funciones lineales definidas por partes son un complemento a las funciones vistas en las secciones
anteriores. La principal ventaja de una función definida por partes sobre los otros tipos de funciones
discutidas es que cada tramo de la función original se define por otra función; por lo que la función
resultante puede ser tan compleja como se desee. La principal desventaja de las funciones definidas por
partes es que requieren de mayor interacción por parte del usuario.
Un ejemplo siempre de una función lineal definida por parte es la que se muestra en la gráfica de la
Figura 17, la cual es una función para la dilatación (del inglés stretching) del contraste. Una imagen puede
presentar un contraste pobre debido a una mala iluminación de la escena o incluso por una mala apertura
en el lente durante la adquisición de la misma. La idea de una función de una transformación de dilatación
22
del contraste es incrementar el rango de intensidades en el cual se encuentran los valores en escala de
grises de las intensidades de los pixeles que conforman la imagen, como se observa en la Figura 17.
Figura 17. Gráfica de una función de transformación del histograma definida por partes.
Ecualización del Histograma.
Dentro del voluminoso conjunto de técnicas existentes en las operaciones puntuales una de las más
conocidas para el mejoramiento del contraste, es aquella llamada de ajuste del histograma. Esta tiene
como objetivo obtener, para la imagen de salida, un histograma con una forma específica.
Unas de las formas más conocida y clásica de ajuste de histogramas es la ecualización, la cual es una
forma específica de transformación, que tiende a lograr una aproximación muy próxima a una distribución
uniforme de los valores de la escala de los niveles de grises Figura 18, en otras palabras, la ecualización
del histograma pretende darle la misma probabilidad de ocurrencia a todos los niveles de grises. [8, 9, 10]
23
Figura 18. Resultado de la ecualización del Histograma de una Imagen. Imagen e Histograma Original (Izquierda)
1.2.1.2. Detección de Discontinuidades.
Existen diversas técnicas para detectar varios tipos de discontinuidades. El método más común de buscar
discontinuidades es la correlación de la imagen con una máscara. En la Figura 19se puede ver un caso
general de máscara de 3 × 3.
24
Figura 19. Mascara 3x3
En este procedimiento se realiza el producto de los elementos de la máscara por el valor de gris
correspondiente a los píxeles de la imagen encerrados por la máscara. La respuesta a la máscara de
cualquier píxel de la imagen viene dado por:
Donde z(i)es el nivel de gris asociado al píxel de la imagen con coeficiente de la máscara w(i). Como
suele ser habitual, la respuesta de la máscara R, viene referida a su posición central. Cuando la máscara
esté centrada en un píxel de borde de la imagen, la respuesta se determina empleando el vecindario
parcial apropiado.
Existen muchos algoritmos para detectar discontinuidades entre los que se destacan los clásicos: Robert,
Prewit, Sobel y Laplaciano, Gausiano.
Por lo general el mejoramiento de una imagen mediante la detección de discontinuidades suele emplearse
cuando posteriormente se pretende realizar un análisis geométrico de la imagen mediante algún algoritmo
de segmentación basado en el enlazado de bordes, ver Epígrafe 1.2.2.1.
Detección de Puntos.
Esta técnica se basa en medir la diferencia entre el píxel central y sus vecinos, puesto que un píxel será
un punto aislado siempre que sea suficientemente distinto de sus vecinos. Solamente se considerarán
puntos aislados aquellos cuya diferencia con respecto a sus vecinos sea significativa [11, 12].
25
Detección de Líneas.
La detección de líneas es básicamente el proceso en el cual se enlazan mediante líneas los puntos que
cumplen con un patrón de orientación (horizontal, vertical y diagonal) dentro de la imagen [11, 12].
1.2.1.3. Homogenización de Regiones.
La idea básica detrás de los algoritmos de homogenización de la imagen es muy parecida a la seguida por
los algoritmos de detección de discontinuidades pero con la diferencia de que las máscaras de vecindad
persiguen como objetivo eliminar los cambios bruscos de intensidades de la imagen (discontinuidades),
logrando de esta forma tener regiones más homogéneas. Entre los filtros de homogenización de regiones
en imágenes, los más usados son: mediana, promedio, máximo, mínimo, entre otros. [8]
El principal riesgo de utilizar estos algoritmos es que, se corre el riesgo de que al aplicar un filtro que
homogenice la imagen pueden perderse detalles significativos en algunos casos; aunque existen otras
propuestas de algoritmos que corrigen esta deficiencia [8]. La principal ventaja de estos filtros es que son
fáciles y rápidos de implementar; por otro lado los mismos son utilizados generalmente cuando se
pretende realizar una segmentación basada en las técnicas crecimiento de regiones, ver Epígrafe 1.2.2.3.
1.2.2. Técnicas Clásicas de Segmentación de Imágenes.
La segmentación de imágenes consiste en reconocer de forma manual, automática o semiautomática los
objetos de una imagen digital. Existen distintos niveles de automatización dependiendo del método que se
utilice para segmentar. Este automatismo pone a prueba los algoritmos utilizados por los sistemas para tal
fin, ya que los objetos obtenidos deben corresponderse lo más acertadamente posible con el contenido
semántico de la imagen.
La segmentación de imágenes es la partición de una imagen en regiones constituyentes no solapadas, las
cuales son homogéneas con respecto a alguna característica como puede ser el color. Si el dominio de la
imagen está dado por I, entonces el problema de segmentación se resume a encontrar n conjuntos Sk que
cumplan que:
ø1
jik
n
k
SSySI para i ≠ j
El nivel al que se realiza esta subdivisión depende de la aplicación en particular, es decir, la segmentación
terminará cuando se hayan detectado todos los objetos de interés para la aplicación. En general, la
segmentación automática es una de las tareas más complicadas dentro del procesado de imagen. La
segmentación va a dar lugar en última instancia al éxito o fallo el proceso de análisis. En la mayor parte de
26
los casos, una buena segmentación dará lugar a buenos resultados de la aplicación que se esté
desarrollando, por lo que, se debe poner todo el esfuerzo posible durante esa etapa.
Los algoritmos de segmentación de imágenes generalmente se basan en dos propiedades básicas de los
niveles de gris de la imagen: discontinuidad y similitud. Dentro de la primera categoría se intenta dividir la
imagen, basados en los cambios bruscos en el nivel de gris. Las áreas de interés en estas categorías son
la detección de puntos, de líneas y de bordes en la imagen. Las áreas dentro de la segunda categoría
están basadas en las técnicas de umbrales, entre las que se encuentran: el crecimiento de regiones, y
técnicas de división y fusión. [11]
1.2.2.1. Enfoques de Segmentación de Imágenes.
Manual.
El usuario realiza la segmentación él mismo con la ayuda de una herramienta informática. Consiste en
seleccionar manualmente las fronteras de las regiones que se desea segmentar, bien mediante el
marcado de puntos de las mismas o usando algunas herramientas de apoyo más complejas. Es un
método muy preciso, pero es muy lento y se hace impracticable cuando necesitamos segmentar un
número alto de imágenes.
Automática.
El ordenador realiza todo el proceso de forma automática.
Semiautomática.
El ordenador realiza el proceso, pero el usuario interviene en determinados momentos sobre el mismo
para definir parámetros o corregir resultados.
1.2.2.2. Segmentación por Umbralización.
Son los métodos de segmentación más simples, se basan en el valor del píxel y no consideran el contexto
espacial, deciden solamente en base a las características del color de los píxeles individuales[13]. La idea
se basa en suponer que el rango de valores de un objeto respecto a una determinada propiedad es
relativamente pequeño. Aquellos pixeles que estén en ese rango serán parte del objeto y aquellos que
queden fuera formarán parte del fondo de la imagen. Estas características hacen que el proceso de
27
umbralización sea muy rápido computacionalmente pues se trata simplemente, de recorrer
secuencialmente todos los píxeles de la imagen y seleccionar aquellos que son mayores (o menores) que
un umbral definido. La parte más compleja es encontrar el valor correcto del umbral[14].
Los mejores resultados de segmentación por umbralización se obtienen cuando las imágenes se
caracterizan por un fondo oscuro uniforme y existe una clara diferencia de intensidad entre los diferentes
objetos a extraer respecto al fondo de la imagen. Si bien hay diferentes métodos para hallar un umbral
[15], la mayoría de ellos no dan buenos resultados cuando se trabaja con imágenes del mundo real, pues
al no establecer restricciones espaciales son muy sensibles a la presencia de ruidos.
Figura 20.Segmentación con umbral global de una imagen con granos de arroz. (a) Histograma correspondiente a la imagen original y en (b) la imagen resultado de la segmentación.
1.2.2.3. Segmentación por Crecimiento de Regiones.
Las técnicas de segmentación orientadas a regiones tienen su base en las reglas de similitud y en la
conectividad de los píxeles [8]. Las regiones se forman mediante píxeles que tengan conectividad y
presenten alguna propiedad de similitud y discrepancia respecto al resto de los píxeles que no pertenecen
a la región [11, 12].
Aunque son técnicas muy usadas en aplicaciones que demanden una segmentación rápida esta técnica
presenta dos problemas fundamentales: por un lado, el criterio de selección de las semillas o puntos de
partida que representen adecuadamente las regiones de interés; y por otro, la elección de las propiedades
similitud adecuadas que permitan ir añadiendo píxeles durante el proceso de crecimiento.
La selección de los puntos de partida en muchos casos depende de la naturaleza de la imagen a
segmentar. La selección del criterio de similitud depende no sólo del problema considerado, sino también
del tipo de imagen [11, 12].
28
Figura 21.(a) Imagen que se le ha marcado un punto interior a la región a segmentar. (b) – (d) Proceso de crecimiento de la marcada.
1.2.2.4. Segmentación por Detección de Bordes.
La detección de bordes es el procedimiento empleado más habitualmente para un análisis geométrico de
una imagen. Un borde se define como la frontera entre dos regiones con nivel de gris relativamente
diferente [11, 12].
Limitaciones de las técnicas de segmentación basadas en detección de bordes.
Las principales limitaciones de los algoritmos de detección de bordes son:
1. Los bordes obtenidos mediante los métodos clásicos a menudo no necesariamente corresponden
a objetos de la frontera. En muchas imágenes de baja de calidad, capturadas utilizando
dispositivos baja calidad, algunos de los métodos convencionales producen bordes erróneos sus
aplicabilidades son por lo tanto limitado.
2. El límite de detección de las técnicas dependen de la información que figura en la vecindad local
de la imagen. La mayoría de las técnicas de detección de bordes, no consideran el modelo basado
en la información incrustada en una imagen.
29
3. En la mayoría de los casos el límite de detección de las estrategias hace caso omiso de la
información de orden superior que puede ser más significativa en la imagen.
4. Después que los puntos de borde son extraídos de la imagen son relacionados, con el fin de
determinar las fronteras. Esto se suele hacer primeramente asociando elementos en segmentos de
borde y, a continuación, asociando estos segmentos en las fronteras. El proceso de vinculación de
borde en ocasiones puede dar lugar a falsas discontinuidades y lagunas en la imagen.
5. A menudo es difícil de identificar y clasificar los bordes ilegítimos.
1.2.3. Otras técnicas de segmentación de Imágenes.
1.2.4. Clustering.
Los algoritmos de agrupamiento (clustering) llevan a cabo esencialmente la misma función que los
métodos clasificadores [16], pero sin utilizar datos de entrenamiento. Por lo tanto, son métodos no
supervisados. Para compensar la falta de los datos de entrenamiento, los métodos de agrupamiento iteran
entre segmentar la imagen y caracterizar las propiedades de cada clase. En este sentido, los métodos de
agrupamiento se entrenan a sí mismos usando los datos disponibles [17].
Los algoritmos de Clustering proveen un método para representar un conjunto de datos de N puntos a
través de un conjunto de K puntos, donde K < N. El nuevo conjunto de datos es, de alguna forma,
representativo del conjunto completo. La mayoría de los algoritmos de agrupaciones son iterativos, donde
se parte de un conjunto inicial de puntos y, por división, fusión, o promediado, van ajustándose hasta
obtener el conjunto óptimo de puntos representativos de toda la imagen [13].
Hoy en día existen muchos algoritmos de agrupación de píxeles, siendo los dos más conocidos el
algoritmo de K-means y el Fuzzy K-means.
Los algoritmos de Clustering tienen la desventaja que necesitan conocer a priori el número de
agrupaciones, por eso es recomendable utilizar un método para calcular este dato.
Al ser técnicas de segmentación basadas en el pixel y no orientadas a regiones no tienen en cuenta las
restricciones espaciales, lo cual los hace susceptibles al ruido [13]. Pero esto puede ser mejorado
utilizando en la medida de la distancia entre clúster algunas componentes que reflejen la distancia
euclidiana, también es posible incorporar robustez al ruido usando campos aleatorios de Markov [13].
El elemento fundamental en un algoritmos de Clustering es la medida de la distancia que se utilice, pues
es el reflejo de cuán cerca se encuentra un clúster de otro, por ello esta depende de la esencia del
problema a tratar [16].
30
1.3. Reconstrucción Tridimensional a partir de Imágenes.
1.3.1. Algoritmos Basados en Triangulación de Delaunay.
La Triangulación de Delaunay es una de las triangulaciones más interesantes por ser aplicable para la
resolución de multitud de problemas aparentemente sin relación entre sí, debido a sus propiedades
geométricas y por contar con algoritmos bastante eficientes para su cálculo. En una triangulación de
Delaunay:
Todos los puntos están conectados entre sí y forman el mayor número de triángulos posibles sin que se
crucen sus aristas (imprescindible para que se trate de una triangulación).
Los triángulos se definen de forma que los puntos más próximos están conectados entre sí por una arista.
Esto implica que los triángulos formados sean lo más regulares posible, es decir, que se maximicen sus
ángulos menores y se minimice la longitud de sus lados.
La triangulación forma la envolvente convexa del conjunto de puntos.
La triangulación es unívoca si en ningún borde de circunferencia circunscrita hay más que tres vértices en
el caso 2D y si no existen más de cinco vértices en el borde de la esfera circunscrita en 3D.
Debido a las propiedades de la Triangulación de Delaunay se derivan algunas de sus desventajas al
utilizarse en la reconstrucción 3D de modelos anatómicos, por ejemplo:
Cuando la nube de puntos tiene naturaleza no convexa, o sea que posea huecos, la triangulación de
Delaunay los ignora, porque una de sus propiedades es proporcionar la envoltura convexa del conjunto de
puntos.
Es posible obtener más de una triangulación, debido a que una esfera vacía (sin vértices en el interior)
esté circunscrita en más de 4 puntos (en el caso 3D). Por tanto es altamente sensible a perturbaciones
geométricas de las posiciones de los nodos.
En vista a eliminar las desventajas anteriores se han propuesto numerosas variantes de Algoritmos de
Triangulación basados en Delaunay, por ejemplo la Triangulación de Delaunay Extendida (EDT) y la
Triangulación de Delaunay Restringida (CDT) [18].
1.3.2. Algoritmos Basados en Marching.
Los algoritmos de Marching son métodos simples y bastante populares para extraer iso-superficies de
funciones implícitas o información tridimensional discreta. Como muestra la Figura 22, los algoritmos de
“Marching” se basan en subdividir una superficie o volumen en formas más elementales y detectar uno o
más contornos, ubicando el color, valor, o intensidad en los vértices de la figura elegida. De esta manera,
31
por medio de interpolación; se detecta cuáles aristas de la figura son intersecadas por la superficie y es
posible reconstruir la superficie con figuras más elementales, como por ejemplo los triángulos.
Figura 22.Vista 2D de una isosuperficie.
1.3.2.1. Marching Cubes.
Fue propuesto por William E. Lorensen y Harvey E. Cline en 1987. Es uno de los algoritmos de
reconstrucción 3D de superficies más populares y más robustos que se han conocido hasta la actualidad,
gracias a que brinda una manera muy sencilla y eficiente de convertir los datos volumétricos en una malla
poligonal.
El algoritmo Marching Cubes se basa en la subdivisión del volumen de datos en pequeños cubos, donde
para cada cubo se calcula, de forma independiente, los triángulos que se generan de la intersección de
sus aristas con la superficie del volumen de datos. Para determinar que cubos aportaran triángulos a la
superficie final, el algoritmo cuenta con una tabla de búsqueda, Figura 23, donde se enumeran 15
posibles formas en las que las aristas de un cubo pueden ser interceptadas por la superficie del volumen
[19].
32
Figura 23.Casos de Triangulación Marching Cubes.
Ambigüedades del Marching Cubes.
El Marching Cubes presenta ciertos casos en la tabla de configuración donde existe más de una manera
de triangular, los cuales pueden generar huecos en la superficie generada; por lo que la imagen final del
objeto reconstruido no se asemeja a las características reales que este posee.
Los casos ambiguos del Marching Cubes se clasifican de dos formas: las ambigüedades en las caras y las
ambigüedades internas. Las primeras ocurren cuando una cara tiene dos vértices diagonales opuestos
positivos y otros dos negativos, ver Figura 24. Nielson y Hamann [20] muestran cómo esto puede ocurrir
entre dos celdas vecinas y puede dar lugar a agujeros y a inconsistencias en la topología de la malla. Las
segundas ocurren en el interior de las celdas y son identificadas, independientemente, por Natarajan [21] y
Chernyaev [22]; donde cada uno brinda una solución para resolverla.
Figura 24. Posible triangulación del Marching Cubes para dos cubos vecinos. Ambas son triangulaciones válidas para cada uno de los cubos de forma independiente pero al unirse generan un triángulo
inconsistente y huecos.
33
Otras soluciones propuestas para eliminar los casos ambiguos del Marching Cubes se basan en la adición
de puntos dentro de cada celda. Para determinar estos puntos extras, muchos métodos asumen que la
función implícita del volumen de datos es lineal a lo largo de una arista, bilineal en una cara y trilineal
dentro del cubo. Bajo esta suposición otros métodos han sido propuestos para resolver los casos
ambiguos en las caras [21] y dentro de las celdas [23] para así poder determinar una topología
consistente.
1.3.2.2. Marching Tetrahedron.
Este algoritmo es muy semejante al Marching Cubes, la diferencia fundamental está en que éste basa el
estudio del volumen en pequeños tetraedros y no en cubos. En este algoritmo cada celda es dividida en
seis tetraedros y las aristas de éstos se alinean con las celdas adyacentes, luego cada uno de estos
tetraedros es procesado por separado y calculada la superficie final. Un tetraedro solo tiene 16
triangulaciones posibles, las que se reducen a 3 por simetría, Figura 25.
Figura 25. Tabla de configuraciones del Marching Tetrahedron.
Al contrario que el método descrito con anterioridad, Epígrafe 1.3.3.1, en el que se subdivide el cubo, en
este caso los tetraedros siempre tienen la misma forma, lo cual elimina las ambigüedades de la malla de
triángulos resultante.
34
La principal desventaja de las técnicas basadas en tetraedros es que crean una cantidad de triángulos aun
mayor que Marching Cubes para ciertos datos de entrada, esto agrava el problema la regularidad de la
malla de la superficie resultante.
1.3.3. Otros algoritmos.
Cubical Marching Square.
Este algoritmo fue propuesto en el 2005 por Chien-Chang Ho, Fu-Che Wu, Bing-YuChen, Yung-YuChuang
y Ming Ouhyoung, y se basa en la idea de que el Marching Cubes puede ser tratado como el algoritmo
Marching Square [24].En este algoritmo, como se muestra en la Figura26, un cubo es expandido en 6
caras; para cada una de ellas se genera la iso-curva usando el algoritmo Marching Square [25] donde esta
iso-curva resultante consiste en varios segmentos. Luego si se doblan estas caras nuevamente a la forma
del cubo original y se conectan entre si a estos segmentos correctamente, obtenemos exactamente los
mismos componentes como lo hace el Marching Cubes. Finalmente estos componentes son triangulados
para generar la superficie [24].
Figura 26. Algoritmo Cubical Marching Square.
Marching Vóxel.
Este algoritmo constituye una versión mejorada del Marching Cubes original. Aquí en vez de generar las
superficies completa a través de la configuración de los cubos, se genera primero los triángulos para cada
vóxel interno, Figura 27. Entonces se procede a combinar los triángulos de cada vóxel para producir la
superficie del objeto. Finalmente esta superficie es proyectada en un plano para formar la imagen final
[26]. Este algoritmo no posee casos ambiguos y es menos lento a la hora de generar la superficie general
del objeto.
35
Figura 27. Marching Vóxel. Ejemplo de triángulos generados para un vóxel interno.
Dividing Cubes.
A diferencia de Marching Cubes, que genera triángulos como primitivas, Dividing Cubes genera puntos
(nube de puntos). En este algoritmo dado un valor de densidad, se selecciona una celda (Vóxel) por
donde la superficie pase. Luego se subdivide en una grilla regular n1*n2*n3, donde los ni se determinan
mediante la división entre el ancho del vóxel original sobre la resolución de la pantalla. Una vez realizado
la subdivisión de los valores para los nuevos puntos se calculan con interpolación. Luego se chequea si la
superficie pasa por cada nuevo subvóxel. Si pasa, se crea un punto en el medio del subvóxel, y se
computa la normal usando interpolación estándar. Estos puntos son los que van a formar parte de la nube
de puntos que conforman el objeto.
Este algoritmo es muy eficiente a la hora de visualizar, ya que dibujar puntos es mucho más eficiente que
dibujar polígonos. Una desventaja importante es que como la superficie es una nube de puntos sin
conexión, hacer acercamientos de la cámara revela “agujeros” dentro del objeto [26].
1.4. Formatos de Ficheros para el Intercambio con Sistemas CAD.Los ficheros contenedores de la información relativa a las escenas virtuales son aquellos que por lo
general almacenan los datos correspondientes a puntos, vértices, polígonos, vectores normales, color,
textura, materiales, luces y otros que garantizan el realismo de los objetos y la escena virtual. Dentro de
36
los formatos de ficheros más utilizados están los *.3DS y los *.ASE; y otros han sido establecidos como
estándares para el intercambio de información entre sistemas CADs, como los *.IGES y *.STEP.
1.4.1. Características de los ficheros IGES.
Representación Digital para la Comuncación de Productos de Definición de Datos (IGES) fue publicado
por primera vez en enero de 1980 por el National Institute of Standards and Technology como NBSIR 80-
1978. Muchos documentos (como el MIL-D-28000) se refieren a él como el ASME Y14.26M, la
designación del comité ANSI que aprobó la versión 1.0 del IGES.
IGES permite intercambiar información de los modelo en la forma de esquemas, superficies o
representaciones sólidas. Entre las aplicaciones que soportan IGES se incluyen dibujos y modelos
tradicionales para funciones de análisis y manufactura.
1.4.2. Características de los ficheros DWF.
El nombre de la extensión .dwg se originó de la palabra inglesa "drawing". Se limitó a tres (3) caracteres
después del punto, por protocolos y limitaciones de tempranas versiones de sistemas operativos de disco
DOS. Es la estexion de archivos electrónicos de dibujos computarizados utilizado principalmente por el
programa AutoCAD; producto de la compañía AutoDesk.
Los archivos DWG no son siempre compatibles entre sí, existiendo numerosas versiones de este tipo de
archivo, aparejadas a muchas de las distintas versiones del programa AutoCAD, que desde 1982 hasta
2009 ha sacado al mercado 23 versiones.
Debido a la elevada cuota de mercado del programa AutoCAD en la industria y el diseño, se ha cubierto la
necesidad de lectura de este tipo de archivos por parte de otros programas mediante un archivo de
intercambio, importación-exportación, conocido como DXF (Drawing eXchange File), aunque un número
creciente de programas de CAD están preparados para operar de forma no nativa con este tipo de
archivos.
Debido a que este formato de archivo se ha convertido en un estándar, la Free Software Foundation ha
marcado como objetivo prioritario la creación de bibliotecas para su interpretación.
Los archivos DWG almacenan la información de dibujo en tres dimensiones de forma vectorial.
37
1.4.3. Características de los ficheros STEP.
Su nombre oficial es ISO 10303, conocido como STEP (de su nombre en inglés “Standar for the Exchange
of Product Model Data”) o Estándar del modelo de datos para intercambio de productos. Es un estándar
internacional para la representación e intercambio de información de productos industriales. El objetivo es
proveer un mecanismo que sea capaz de describir la información de un producto a través del ciclo de vida
del producto, independientemente de cualquier sistema en particular. La naturaleza de esta descripción lo
convierte en el formato adecuado no solo para un intercambio neutral de archivos, sino que también en
una base para implementar y compartir bases de datos de productos y archivos.
Típicamente STEP puede ser usado para intercambiar datos entre CAD, CAM, CAE, PDM/EDM y otros
sistemas CAD. STEP soporta modelos de diseño mecánico, eléctrico, análisis y manufactura, con
información adicional específica de varias industrias tales como automotriz, aeroespacial, construcción de
edificios, barcos, aceite y combustibles, plantas de proceso y otros.
1.4.4. Características de los ficheros 3DS.
Es un fichero de composición binaria cuya especificación está patentada bajo una licencia propietaria; por
lo que se conoce poco sobre la información almacenada dentro del mismo. Su estructura está
caracterizada por bloques de información indexados, conocidos como CHUNCK; lo que facilita el acceso a
los bloques de interés de forma rápida sin necesidad de leer e interpretar los restantes bloques,
característica que lo ha hecho muy popular en la comunidad de desarrolladores dentro del campo de la
Realidad Virtual, un ejemplo de esto es el hecho de que es el formato principal de exportación de grandes
software de desarrollo gráficos 3D como 3D Studio Max y Maya.
1.4.5. Características de los ficheros ASE.
El formato de fichero ASE (ASCII Scene Exporter), es originario de 3D Studio Max, pero otros grandes
software de diseño 3D, tales como ActorX y Maya también pueden exportarlo. Es un fichero de texto que
contiene información correspondiente a geometría, texturas, materiales, cámaras y luces. Se puede editar
con cualquiera de los editores de textos conocidos., por lo que es fácil de leer e interpretar, pero esto hace
que no se utilice en software con fines comerciales puesto que la información que contiene se puede
modificar sin garantizar la validez de la misma. Otra desventaja del mismo es que la información está
almacenada de forma secuencial por lo que no es posible acceder a un dato x sin antes haber leído el
dato x-1, provocando que el proceso de carga del mismo sea lento y costoso en memoria. El uso de este
38
fichero está generalmente favorecido por la estructura en que almacena la información de los materiales
de los objetos y de la escena virtual misma.
1.4.6. Características de los ficheros COLLADA.
El formato COLLADA estaba previsto originalmente como un formato intermedio para el transporte de
datos entre herramientas para la Creación de Contenidos Digitales (DCCs por sus siglas en inglés).
Existen muchas aplicaciones de creación de contenidos digitales que dan soporte a este estándar,
incluyendo a Maya (ColladaMaya), 3ds Max (ColladaMax), Poser (v.7.0), LightWave 3D (version 9.5),
Cinema 4D (MAXON), Softimage|XSI, SideEffect'sHoudini, MeshLab, CityScape, CityEngine, SketchUp,
Blender, Modo and Strata 3D. Además COLLADA puede ser importado y exportado por herramientas de
Adobe Photoshop a partir de su versión CS3 y muchos motores de juego como: Unreal Engine y Torque
3D, también han adoptado este formato para el intercambio de contenidos.
Otras de las ventajas de COLLADA es que en su versión 1.4 le da la posibilidad a los desarrolladores de
Contenidos Digitales asignarle atributos físicos en las escenas visuales, tales como: fricción, constantes
elásticas en las conexiones de sistemas masas resortes para simulaciones físicas de cuerpos rígidos y
deformables; lo que posibilita que los Software de Creación de Contenidos Digitales puedan ser usados
con fines ingenieriles en la simulación y visualización de fenómenos y procesos físicos.
1.5. Principales Bibliotecas de Clases.A continuación se relacionan una serie de las bibliotecas de clases más usadas en el ámbito nacional e
internacional para llevar a cabo el proceso de reconstrucción tridimensional de modelos anatómicos a
partir de imágenes médicas digitales.
Entre las más utilizadas en la carga y exportación de ficheros DICOM se encuentran: Imebra y DicomLib.
En la segmentación de imágenes sin duda la más reconocida y utilizada es ITK, la cual se integra de
forma muy natural con VTK, biblioteca de clases para la visualización y reconstrucción tridimensional.
Existen otras bibliotecas de clases para reconstruir a partir de nubes de puntos, sus algoritmos en
triangulaciones de Delaunay, como TetGen.
1.5.1. Imebra.
Imebra es una biblioteca de clases Open Source para el trabajo con ficheros DICOM, NEMA y JPEG,
además de proporcionar un código de alto nivel y un rápido acceso a los datos cargados.
Con Imebra las imágenes pueden ser descomprimidas o convertidas a otros espacios de colores. Esta
biblioteca posee licencia GPLy una licencia comercial. Actualmente se encuentra en la versión 0.0.36.
39
Desafortunadamente en la versión libre y de código abierto de la misma, no posee una adecuada
documentación que explique cómo explotar de la mejor manera, todas las funcionalidades con que cuenta
la misma [27].
1.5.2. DICOMLib.
Es una biblioteca de clases para el trabajo con ficheros DICOM desarrollada bajo la licencia GNU GPL.
Está inspirada en la biblioteca de clases udcmc99, pero fue casi completamente reprogramada, con el
objetivo de proveer una API orientada a objeto que representara de mejor manera conceptos del Estándar
DICOM [7], tales como las "Representaciones de Valor" (VR), a conceptos de C++ tales como los "tipos”.
Actualmente la biblioteca de clases está en su versión 0.9.0. Algunas de sus características claves:
1. Mecanismos de plantillas para reforzar las relaciones entre los tipos de valores de representación
(VR) del DICOM y los tipos de C++.
2. Mecanismos de multihilos utilizando la biblioteca de clases Boost de C++.
3. Un API ampliamente optimizada en el uso de recursos de hardware.
Esta biblioteca es multiplataforma, pero posee un nivel de dependencia muy alto a otras bibliotecas de
clase [28].
1.5.3. ITK.
ITK (InsightSegmentation and RegistrationToolkit), es una biblioteca de clases de código abierto que
soporta el Proyecto Humano Visible (Visible Human Project). Fue desarrollada por seis organizaciones
fundamentalmente, tres comerciales (Kitware, GE Corporate R&D, y Insightful) y tres académicas (UNC
Chapel Hill, Universidad de Utah, y Universidad de Pennsylvania). Equipos adicionales de trabajo incluyen
el Hospital Harvard Brigham&Women's, Universidad de Pittsburg, y la Universidad de Columbia. ITK está
implementada en C++.
Es multiplataforma, y puede ser utilizada desde múltiples lenguajes de programación como Tcl/Tk, Java,
Phyton y por supuesto C++. Es altamente eficiente y está en constante mantenimiento por la comunidad
internacional.
Esta biblioteca es una de las más utilizadas a nivel mundial para investigación analítica de imágenes en
cuanto a segmentación, clasificación y técnicas de registro para procesar grandes volúmenes de datos
médicos [29].
1.5.4. VTK.
40
VTK (Visualization Toolkit), es una biblioteca de clases para el trabajo con sistemas de gráficos 3D,
procesamiento de imágenes y visualización, libremente disponible y de código abierto.
Esta biblioteca es usada por cientos de investigadores y desarrolladores de todo el mundo, programada
en C++, posee capas de interfaces para la comunicación con lenguajes como Tcl/Tk, Java, Phyton y por
supuesto C++. VTK soporta una amplia variedad de algoritmos de visualización incluyendo métodos para
el trabajo con escalares, vectores, tensores, texturas y volúmenes; y técnicas avanzadas de modelación
tales como modelación implícita, reducción de polígonos, suavizado de mallas, algoritmos de triangulación
como la Triangulación de Delaunay, entre otros. Además tiene una arquitectura basada en el diseño
Orientado a Objetos y su uso ha sido probado en los diferentes sistemas de Hardware y Sistemas
Operativos.
La principal desventaja de esta herramienta es que los algoritmos de mejores resultados en la
reconstrucción tridimensional de modelos están patentados; por lo que sus códigos no están abiertos a la
comunidad para usarlos hay que pagar una licencia por su uso.
1.5.5. TetGen.
TetGen una biblioteca de código abierto, multiplataforma, implementada en C++ y actualmente soportada
por el Instituto Weierstrass de Estocástica y Análisis Aplicado (WIAS) en el Grupo de Investigación de
Matemática Numérica y Ciencias de la Computación de Berlín, Alemania.
Esta biblioteca tiene como objetivo la generación de mallas y Triangulaciones de Delaunay en un dominio
3D; si el dominio tridimensional está definido por su frontera (tal como una malla de superficie), TetGen
genera la Tetraedralización Restringida de Delaunay (CDT) y refinamiento de calidad de la malla. Además
para una nube de puntos 3D, esta biblioteca genera la Triangulación de Delaunay y la envoltura convexa
(convexhull).
1.6. Consideraciones Generales del Capítulo. Es importante resaltar que a pesar de existir numerosas bibliotecas de clases, como las abordadas
anteriormente en el Epígrafe 1.5 y que han sido muy utilizadas en aplicaciones de reconstrucción 3D
avanzadas, en este trabajo no se hace uso de ninguna de ellas, por las cuestiones siguientes:
1. Las bibliotecas Imebra y DicomLib, no cuentan con una documentación que haga más
comprensible el trabajo con ellas, además de que fueron creadas para un trabajo a fondo con los
ficheros DICOM, y para la realización de este trabajo sólo se requiere la carga de las imágenes.
41
2. La biblioteca de clases TetGen es una de las más potentes en lo que a Triangulación de Delaunay
y a la Triangulación de Delaunay Restringida (CDT) se refiere. Sin embargo, para obtener buenos
resultados, esta biblioteca toma como dato de entrada un archivo *.poly que contiene el PLC [36]
de lo que se desea triangular, el principal problema de esto es que no existe ningún algoritmo que
sea capaz de calcular el PLC de una nube de puntos arbitraria o en caso de existir sería
demasiado costoso.
3. Las bibliotecas VTK e ITK son código abierto, pero la documentación existente de ambas hay que
comprarla. Además algunos algoritmos también están patentados y hay que pagar una licencia
para poder utilizarlos.
4. La necesidad de contar con las bases algorítmicas que permitan el desarrollo de investigaciones
de este tipo en la universidad, que luego puedan ser generalizadas y liberadas a una comunidad
de desarrollo.
Por otra parte aunque existen estándares definidos por la ISO para el intercambio de información
geométrica entre los software CAD no se puede asumir ninguno de los formatos ya estandarizados como
el formato de fichero principal de la aplicación; pues algunos no dan soporte a salvar información
importante para un posterior análisis y visualización de los modelos reconstruidos.
El marco teórico estudiado corroboró las potencialidades de los algoritmos de clustering y de crecimientos
de regiones como los más acordes para obtener resultados robustos de segmentación de imágenes
medicas digitales en con tiempos de procesamiento considerablemente pequeños y con bajo consumo de
hardware durante la ejecución del algoritmo.
Se evidencio que, el algoritmo Marching Cubes es un algoritmo que genera una malla de elevada calidad
geométrica en comparación con otros algoritmos que persiguen los mismos objetivos que persiguen el
mismo objetivo. Independientemente de las ambigüedades que se puedan presentar en el proceso de
generación de la superficie del modelo la malla obtenida presenta elevada calidad visual y puede ser
exporta para ser utilizada por sistemas CAD.
42
Capítulo 2. Solución Propuesta.Después del estudio teórico realizado en el capítulo anterior, en este capítulo se describen las técnicas y
algoritmos básicos seleccionados que conformarán los procesos de segmentación, reconstrucción
tridimensional, post-procesamiento de superficies, visualización y exportación de los modelos anatómicos
generados; así como las modificaciones que fueron realizadas dichos algoritmos, con el objetivo de
adaptarlos a las particularidades de nuestra solución y se fundamentan las razones por las cuales no se
hace uso de ninguna biblioteca de clases de las existentes a nivel mundial.
2.1. Adquisición de Imágenes Médicas.Los datos obtenidos a partir de imágenes médicas digitales (DICOM) usualmente se obtienen como un
conjunto de imágenes individuales. Donde cada imagen representa un fino corte de la parte del cuerpo del
paciente escaneada y está compuesta por píxeles. Estos píxeles están organizados en una rejilla
bidimensional (grid 2D) donde la distancia entre dos pixeles por lo general es constante en cada dirección.
Figura 28. Representación de una Rejilla Bidimensional. (Grid 2D)
En las modalidades de adquisición de imágenes médicas TAC y RM las direcciones horizontales (eje x) y
verticales (eje y) tienen igual la distancia entre los píxeles, la cual desde este momento nombraremos
“distancia entre píxeles” y es un atributo que está presente como un elemento de dato (DataElement) en
los ficheros DICOM. Una distancia constante de los píxeles en ambas direcciones permite el cálculo de la
posición original del píxel p(x,y) con sólo multiplicar la distancia entre píxeles d por los índices I(i, j)
correspondientes al pixel en el grid 2D. Ver Ecuación 9 y Figura 28.
43
2.1.1. Construcción de Imágenes Médicas Tridimensionales.
Las imágenes volumétricas (imágenes tridimensionales o imágenes 3D) combinan cada imagen individual
de la pila de imágenes obtenidas de los estudios de TAC o RM en un espacio tridimensional en una
estructura de datos conocida como rejilla tridimensional (Grid 3D). Ver Figura 29.
Figura 29. Representación de una rejilla Tridimensional. (Grid 3D)
Una imagen tridimensional estará compuesta por elementos de datos denominados elementos de
volumen (vóxeles), y los mismos están organizados en la rejilla como mismo lo estaba un píxel en una
imagen bidimensional; sólo que en adición a las direcciones horizontal (eje x) y vertical (eje y), ahora
tendremos otra dirección correspondiente a la profundidad (eje z). Ver Figura 29. La separación entre
vóxeles en la dirección de la profundidad está definida como la distancia entre dos imágenes consecutivas
en la pila de imágenes y estará dada por un atributo que se denomina “distancia entre cortes” que se
obtiene en uno de los elementos de datos (DataElement) en los archivos DICOM.
Similar a los píxeles, la posición de un vóxel v(x, y, z) en el espacio tridimensional está dada por los valores
de distancia en las direcciones x, y y z y los índices I(i, j, k) correspondiente al vóxel en el Grid 3D. Ver
Figura 30.
44
Figura 30. Representación de una celda de un Grid 3D constituida por 8 vóxeles.
2.1.2. Criterios para clasificar Rejilla 3D.
2.1.2.1. Distancia entre vóxeles.
Si la distancia entre pixeles es idéntica a la distancia entre cortes, entonces se dirá que el grid obtenido es
un grid isotrópico; si no es este el caso, entonces se trata de un grid anisotrópico [1]. Los grid obtenidos a
partir de alguna de las modalidades de adquisición de imágenes en su mayoría son anisotrópicos ya que
en la mayoría de los casos la distancia entre corte es mayor que la distancia entre píxeles con el objetivo
de disminuir el tiempo de rastreo del equipo. Ver Epígrafe 1.1.
2.1.2.2. Orientación.
La orientación en relación a los ejes de coordenadas cartesianas, constituye otro criterio por el cual se
pueden caracterizar los grids. Cuando el grid está alineado a los ejes se dice que es cartesiano o
uniforme. Este tipo especial de grids posee muchas características especiales como:
1. Espacios constantes o regulares en cada dirección.
2. Geometría regular que puede ser calculada a partir de los índices y las distancias entre
elementos.
3. Topología Regular. (Los puntos del grid tienen conectividades iguales).
4. Están compuestos por celdas rectangulares o cuadradas, grid 2D; y ortoedros o cubos en el caso
del grid3D.
Aunque las imágenes médicas 3D, están estructuradas en grid cartesianos, es importante tener en cuenta
que existen otros grids no uniformes con espacios variables, geometrías variables y finalmente con
45
diferentes topologías de celdas. Más información acerca del tema puede ser encontrada en las literaturas
de visualización científica [1].
2.2. Procesamiento de Imágenes Médicas.
2.2.1. Mejoramiento de Imágenes Médicas 3D.
La selección de los filtros para mejorar la imágenes depende en de dos criterios fundamentales. El primero
de ellos es el tipo de imágenes o el origen de los datos y el segundo es el algoritmo de segmentación que
será usado posteriormente.
En nuestra solución la primera etapa del procesamiento incluye el mejoramiento del contraste de las
imágenes. Esta se basa en los conceptos de ventanas de visualización y Unidades de Hounsfield [1, 5, 7].
La idea fundamental detrás de los mismos, es una función de transformación de contraste definida por
partes, ver Epígrafe 1.2.1.1, donde para cada sustancias del cuerpo humano se define un rango de
intensidades en escala de grises en el cual se puede observar, esta información esta explicita en el fichero
DICOM. Esto garantiza una visualización con alto contraste de las estructuras de interés para el médico
especialista.
Luego se propone aplicar un filtro utilizando el criterio de la mediana, Epígrafe1.2.1.3, ya que este
homogeniza las regiones dentro de la imagen; elemento que posibilita, que el algoritmo propuesto obtenga
mejores resultados; pues la idea del mismo se basa en técnicas de crecimiento de regiones a partir del
criterio de similitud de las intensidades y conectividad de los vóxeles que conforman la región de interés.
2.2.2. Segmentación Tridimensional de Imágenes Médicas.
Los algoritmos caracterizados durante el estudio teórico realizado en el Epígrafe 1.1.2 de segmentación
se aplican fundamentalmente a cada una de las imágenes o cortes individuales adquiridas de un estudio
DICOM y luego se integran los resultados parciales para conformar el volumen total segmentado. En este
trabajo, la segmentación se aplica directamente sobre las imágenes 3D mediante una extensión de los
métodos de segmentación en 2D a una variante 3D.Evitando, de este modo, los problemas de
correspondencia entre los resultados parciales que puedan aparecer en el momento de conformar el
volumen segmentado a partir de la información obtenida en cada imagen o corte por separado. Este
esquema resulta conveniente sobre todo en casos de componentes complejas, como por ejemplo en el
caso de segmentación de estructuras como cráneo o cerebro, que al poseer numerosas circunvoluciones
puede provocar que puntos que no han sido integrados a la región en alguno de los cortes, sí pueden
resultar incluidos en los cortes contiguos[30].
46
2.2.2.1. Clustering. K-Means y Fuzzy K-Means.
K-Means
La técnica de Clustering K-means es simple. Primero seleccionar K centroides, donde K es el número de
clústeres deseado. Cada punto es entonces asignado al centroide más cercano y cada colección de
puntos asignados a un centroide es un clúster. Los centroides de cada clúster son entonces actualizados,
basados en los puntos asignados al clúster. Se repite este proceso de asignación y actualización hasta
que ningún punto cambie de clúster, o lo que es lo mismo, hasta que los centroides permanezcan iguales.
Este algoritmo descrito busca minimizar la siguiente función objetivo donde es la suma del cuadrado
de los errores, es el i-esimo cluster de la partición, es el número de clusters y es la medida de
disimilitud o distancia entre el elemento y el clúster :
k
i Cx
i
i
CxdSSE1
2),(
La determinación de los centroides iniciales juega un papel crucial debido a que cuanto mejor sea la
partición inicial más rápido convergerá el algoritmo. Es más, aunque se asegura la convergencia, ésta no
tiene por qué ser un mínimo global. Una forma de llevar esta elección a cabo es calcular el histograma de
la imagen y determinar los picos dominantes del mismo. Los K picos dominantes corresponderán con los
K centroides iniciales. Las agrupaciones iniciales se pueden coger aleatoriamente, con lo que disminuye la
dificultad pero aumenta el tiempo de convergencia del algoritmo [31].
Fuzzy K-Means
Fuzzy K-means es una extensión del K-means. Mientras K-means encuentra particiones donde un punto
pertenece a un solo clúster, Fuzzy K-means es un método estadísticamente formalizado que encuentra k
clústeres donde un punto puede pertenecer a más de un clúster con cierto valor de pertenencia [32].
Como el K-means, Fuzzy K-means trabaja con aquellos objetos que pueden ser representados en un
espacio n-dimensional con una medida de distancia definida [32].
El procedimiento Fuzzy K-means minimiza la siguiente función objetivo:
n
i
k
j
ijij dmCMSSE1 1
2),(
47
Sujeto a:
k
j
ijm1
1 ni ,...,2,1 (12)
n
i
ijm1
0 kj ,...,2,1 (13)
]1,0[ijm
Donde ),( CMSSE es la suma del cuadrado de los errores dentro de las clases, M es la matriz n x k de
pertenencia a los grupos ( 1ijm si el elemento i pertenece totalmente al clúster j y 0ijm es lo
contrario), C es la matriz pk x de centro de las clases siendo p el número de componentes del espacio,
es el grado de imprecisión de la solución (exponente de dispersión) y 2
ijd es el cuadrado de la distancia
entre el elemento i y el centro representativo del clúster j . El algoritmo de solución de la función objetivo
consta de las siguientes etapas iterativas [33]:
1. Seleccionar el número de clases k, con 1<k<n. Si k es 1 o n el análisis no es necesario.
2. Seleccionar el valor del exponente difuso , con 1 . Los valores comúnmente usados están en
el rango 1.1 a 2.
3. Seleccionar la definición de distancia en el espacio variable. Las distancias más usadas son la
Euclidiana y Mahalanobis. Seleccionar un valor del criterio de detención, 001.0e da una
convergencia razonable.
4. Iniciar con 0MM , por ejemplo con una agrupación aleatoria o con una agrupación de partición
rígida (K-means).
5. En las iteraciones ,...3,2,1i re-calcular iCC usando 1iM con la ecuación:
n
i
ij
n
i
iij
j
m
xm
C
1
1
(14)
48
6. Re-calcular iMMusando iC
y la ecuación:
k
r
ir
ij
ij
d
dm
1
)1/(2
)1/(2
(15)
7. Si eMM ii 1 entonces parar, sino retornar al paso 5.
Donde 1ii MM es el mayor valor absoluto de la diferencia entre los elementos de la matriz iM y sus
correspondientes elementos de la matriz 1iM .
Según el criterio de detención e , el algoritmo converge con mayor o menor número de iteraciones.
Es evidente que después de ejecutar uno de los algoritmos de clustering descrito anteriormente, todos los
vóxeles de un mismo color terminarían perteneciendo al mismo clúster durante la ejecución del algoritmo
clásico; de forma que el rango de la buscada de regiones de interés se reduce de una dimensión, igual
ancho por alto de la imágenes, a una dimensión constante, menor o igual al máximo número de clústeres,
que es en este caso particular es igual a 256, dado que las imágenes vienen representadas en escalas de
grises. Se considera una región dentro de un clúster al conjunto de todos vóxeles dentro de un clúster
que cumplen los criterios de conectividad y similitud dentro del clúster.
2.2.2.2. Crecimiento de Regiones. Vóxel Growing.
El algoritmo Vóxel Growing es una extrapolación 3D de los algoritmos de segmentación 2D orientados a
regiones, y cuyo objetivo es determinar zonas uniformes dentro de la imagen, a partir de sus propiedades
locales, basándose en la idea de conectividad y similitud de los vóxeles.
En el esquema propuesto es posible efectuar la detección de una o más regiones de interés de acuerdo a
cada aplicación particular, considerando como entrada una rejilla tridimensional cartesiana de vóxeles de
dimensiones uniformes o no uniformes. El crecimiento se inicia a partir de la especificación de puntos
iniciales para cada región y luego, mediante un proceso iterativo, se van incorporando a las mismas los
vóxeles de la imagen que satisfacen un criterio de conectividad y similitud determinado, hasta que no se
encuentren más elementos que cumplan la condición, obteniendo como salida varias rejillas
tridimensionales de menores dimensiones que la original, en las cuales aparecen rotuladas las posiciones
correspondientes a los vóxeles incluidos en cada una de las regiones.
49
Especificación de los vóxeles semillas.
La determinación del punto de partida (semilla) para la segmentación de las regiones suele ser un aspecto
crítico del algoritmo. Algunos trabajos tratan de especificar semillas sólo de forma automática, por ejemplo
a partir de un análisis del histograma de la imagen o como resultado de una segmentación previa con
otras técnicas. Sin embargo, la complejidad y variabilidad de las estructuras anatómicas comúnmente
presentes en las imágenes médicas, tiende a limitar el alcance de la aplicación de los métodos
completamente automáticos. Además, la ubicación de los puntos iniciales sobre zonas ruidosas o
correspondientes a bordes, puede provocar una segmentación errónea de la imagen, que finalmente
podría requerir una etapa posterior de corrección. Contrariamente, otros enfoques de segmentación se
basan en una especificación de semillas por parte del usuario, a partir de su conocimiento experto.
En este trabajo, se han abordado tanto la segmentación automática como la semiautomática con un
conocimiento experto previo. Considerado este último enfoque y ofreciendo un entorno de visualización
con una interface interactiva para la determinación de las semillas, con el fin de facilitar esta tarea a través
de la exploración de la imagen.
Sabiendo que tales puntos ciertamente pertenecen a cada una de las estructuras de interés y buscando
asistir al usuario en este proceso, la herramienta brinda información sobre la posición, tonalidad y
gradiente en cada punto.
Debido a que la segmentación resultante del crecimiento desde una única semilla suele ser insuficiente en
ciertos casos, se ha considerado la posibilidad de poder establecer más de una semilla como una opción
del algoritmo. Esto es especialmente conveniente para la segmentación de regiones que no corresponden
necesariamente a una única sustancia. Una vez especificada, cada semilla contiene la siguiente
información:
1. Posición: Dada por las coordenadas x, y, z dentro del punto dentro del volumen de datos.
2. Intensidad: El valor de tonalidad de cada punto semilla se utiliza en la evaluación de los vóxeles
visitados por el proceso de crecimiento.
Cabe destacar que mediante la selección de las semillas, se especifican los puntos de la imagen que
brindan información sobre lo que el usuario considera relevante y, de esta manera, se incorpora al
proceso de segmentación conocimiento relevante acerca de las características de interés. A partir de la
semilla especificada por el usuario, el algoritmo de crecimiento es capaz de determinar el conjunto de
componentes conectadas con propiedades similares que conforman cada región.
50
Aceptación de vóxeles.
Debido a la variabilidad de intensidades dentro de una misma componente y a la posible presencia de
ruido en la imagen, el criterio de similitud utilizado para el crecimiento debe contemplar un cierto valor de
tolerancia (umbral) para las diferencias de tonalidades entre los vóxeles de cada región. Hay diferentes
formas para evaluar la pertenencia o no de un vóxel a una región. El criterio más simple considera la
variación de intensidad del vóxel con respecto al valor de la semilla. También se puede tener en cuenta la
diferencia de intensidad, con el vóxel recientemente incorporado a la región o incluso la variación con
respecto al entorno del vóxel. El algoritmo de crecimiento desarrollado provee las tres posibilidades:
1. Crecimiento según semilla. En este caso, si la diferencia entre el valor de la semilla s y el del
vóxel analizado v, se mantiene dentro de un límite de tolerancia t dado, se acepta su
incorporación. Las regiones resultantes se componen de vóxeles que satisfacen el siguiente
criterio:
2. Crecimiento según el vecino. Esta opción considera que un vóxel v pertenece a la región si la
diferencia entre su intensidad y la del vecino v’ que lo precede se mantiene por debajo de t:
3. Crecimiento por gradiente. La magnitud del gradiente en un punto es una medida de la variación
de intensidades alrededor de ese punto. Esta alternativa de crecimiento utiliza este valor para
establecer los límites de la región, ya que el proceso de crecimiento se detiene si el gradiente en
un vóxel v supera el umbral dado. Entonces, la condición de aceptación de un vóxel en este caso
es:
Aunque en la solución propuesta se permite realizar cualquier posible combinación entre los tres criterios,
es importante destacar que la opción que ha brindado los mejores resultados, consiste en la integración
del criterio de crecimiento según semilla unido a la información sobre el valor del gradiente en el punto
analizado.
Incorporación de Vóxeles.
Como se mencionó anteriormente, una región inicialmente queda constituida por la semilla que ha sido
especificada por el usuario experto. El algoritmo de crecimiento se basa en extender la región por medio
de la incorporación progresiva de los vóxeles vecinos a los que ya pertenecen a la región, mientras
satisfagan el criterio de aceptación establecido. Para ello, los vóxeles visitados que cumplen la condición,
51
son insertados en una cola hasta el momento de ser procesados e integrados a la componente de interés.
En cada ciclo del algoritmo, se debe extraer uno de los vóxeles de la cola para incluirlo a la región y luego
analizar la posible extensión sobre sus vecinos.
Para adaptar las capacidades del algoritmo de crecimiento al resultado final deseado, se ha analizado una
estrategia novedosa de inserción de los vóxeles a la región, de forma que el vóxel extraído de la cola sólo
formará parte de la región en cuestión, si y sólo si, además de cumplir con el criterio de vecindad, el vóxel
es frontera [36] de la región; optimizando de esta forma el consumo de memoria ya que sólo un reducido
por ciento del total de vóxeles cumplirán ambas condiciones.
El siguiente pseudocódigo muestra el esquema general de crecimiento.
Algoritmo 1. Seudo Código del Algoritmo Vóxel Growing.
Luego, en cada ciclo, se extrae un elemento de la cola, se le rotula como visitado, evitando su re-
evaluación, y se visitan sus vecinos usando algunos de los criterios de vecindad mostrado en la Figura
31, evaluando si éstos satisfacen el criterio de aceptación. Los vecinos que no cumplen con el criterio
deseado se marcan como visitados y no se adicionan a la cola. Esta información se tiene en cuenta
además durante la etapa de la generación de la geometría de las superficies detectadas.
52
Figura 31. Vecindades de un vóxel.
Uno de los aspectos interesantes de esta técnica es que las regiones crecen a través de la incorporación
de los vecinos de los vóxeles ya incluidos, por lo que se asegura la conectividad entre los elementos de la
región segmentada.
2.3. Reconstrucción de Superficie.El proceso de reconstrucción de modelos anatómicos, parte de una segmentación previa de la zona de
interés, y a partir de estos datos es posible determinar una malla de polígonos para su posterior
utilización, donde estos polígonos generalmente están compuestos por triángulos (en la reconstrucción de
superficie) o bien por tetraedros (en reconstrucción de volumen). Anteriormente se discutieron las
características fundamentales de algunos métodos que tradicionalmente son utilizados en estos
propósitos, como por ejemplo los algoritmos basados en Marching (MC y MT) y los basados en
Triangulación de Delaunay (EDT y CDT). Ver Epígrafe 1.3.
En este trabajo los esfuerzos han sido concentrados en la reconstrucción de superficies basada en el
algoritmo de Marching Cubes.
La técnica que se propone es un enfoque eficiente al problema de la generación de modelos de superficie,
aprovechando las ventajas que reporta el método de segmentación escogido en el Epígrafe 2.4.
La solución al problema de construcción de la superficie consta de tres objetivos fundamentales. La
primera es obtener la superficie a partir de los datos segmentados, donde están especificadas aquellas
regiones anatómicas que son de interés para el usuario. La segunda es obtener una superficie que sea
geométricamente correcta y por último garantizar la calidad de la visualización final de la superficie; para
ello se calculan las normales de la superficie y de cada vértice de cada triángulo.
53
2.3.1. Generación de la Malla. Implementación del Algoritmo Marching Cube.
El Marching Cubes determina cómo la superficie intercepta cada celda, analizando cada una de forma
independiente y luego mezclando el resultado obtenido de la triangulación individual de cada celda; para
obtener la superficie final.
Para determinar las aristas que son interceptadas por la superficie, basta con preguntar en cada celda del
grid: cuáles son las aristas que poseen un vóxel frontera etiquetado con valor 0 y en el otro extremo, un
vóxel interior etiquetado con valor 1. De esta forma se determina la topología de la superficie por cada
vóxel independiente, encontrando posteriormente el punto de intercepción [1, 34].
Luego, existen 8 vértices en cada cubo y dos posibles estados, frontera (valor 0) o interior (valor 1) por lo
que existen sólo variantes en la que la superficie puede interceptar un vóxel, las que por simetría
de algunos casos pueden ser resumidas a 15 [34], Ver Figura 23.
Figura 32. Enumeración de los vértices y las aristas del cubo para Marching Cubes.
Enumerando cada vóxel y cada arista como se muestra en la Figura 32podemos representar los índice de
los vóxeles en un entero de 8 bit, donde cada bit corresponde a un vóxel. De esta forma quedarían con
valor los bits correspondientes a los vóxeles frontera y en 1 los bits de los vóxeles interiores; esta
combinación conforma un índice que permite buscar en tiempo constante en una tabla de las aristas [19]
la arista interceptada. Para determinar las coordenadas x, y, z donde la superficie intercepta a las aristas,
basta con aplicar una simple interpolación lineal entre las intensidades de los colores de los vóxeles y las
posiciones x, y, z de los mismos dentro del grid [1, 19].
54
Por último, para garantizar la calidad de la visualización, se calcularán las normales de cada vértice
mediante el cálculo del gradiente, donde V es la intensidad del vóxel en las coordenadas x, y, z:
Las normales de los vértices donde interceptan las aristas, son calculadas a partir de interpolar
linealmente, las normales de los extremos que conforman la arista interceptada por la superficie. Para las
normales de los triángulos basta con calcular el promedio de las normales de los puntos que lo conforman.
Eliminar Vértices Repetidos.
Para garantizar que cada vértice generado a partir de la intercepción de la superficie con las aristas sea
adicionado una sola vez en la lista de vértices, se creó una variante de Tabla Hash.
La idea detrás de esta tabla es asignar un código hash a cada vértice a partir de sus coordenadas x, y, y z
como se define en la siguiente ecuación:
Donde ancho, el alto y la profundidad son las dimensiones de la rejilla tridimensional. Con esta
estructura se garantiza saber en un tiempo constante con orden de complejidad O(1) si un vértice fue o no
generado con anterioridad; en caso de que el mismo ya haya sido generado lo que se devuelve es una
referencia al vértice almacenado en la tabla.
2.4. Propuesta de Fichero para el Almacenamiento e Intercambio de Datos.Finalizado el proceso de generación de superficies es necesario contar con un mecanismo de persistencia
que permita utilizar posteriormente la malla obtenida o exportarla en otro sistema de CAD. Para almacenar
los datos se creó un fichero binario, ya que es la mejor opción en estos tipos de aplicaciones por las
potencialidades de accesibilidad a la información, tener mayor confidencialidad en los datos y contar con
mayor velocidad de carga que su contraparte en texto plano. Este fichero está basado en algunas de las
características que poseen algunos formatos contenedores de información 3D más usados en la
comunidad de diseño 3D, como los 3DS, ASE; y en otros estandarizados como DICOM, STEP y IGES. El
fichero propuesto tendrá extensión *.KPS, debido a que será utilizado por un proyecto para desarrollo de
55
Simuladores Quirúrgicos, cuyo producto en desarrollo se denomina KHEIPROS (del griego KHEIRUGICAL
y del inglés PROCEDURE).
La solución de proponer un nuevo formato para el almacenamiento de la información pudiera limitar en
gran medida la aplicabilidad de la geometría obtenida en otras investigaciones por lo que la herramienta
desarrollada les brinda la posibilidad a los usuarios de la misma de exportar los modelos reconstruidos en
formatos STL y DXF con el fin de posibilitar la comunicación con los sistemas CAD más usados por la
comunidad internacional.
2.5. Visualización de los Modelos Obtenidos.Para la visualización 3D, se utiliza la API gráfica OpenGL (Open Graphics Library) que es una
especificación estándar que define una API multilenguaje y multiplataforma para escribir aplicaciones que
produzcan gráficos 2D y 3D. La misma contiene en más de 250 funciones diferentes que pueden usarse
para dibujar escenas tridimensionales complejas a partir de primitivas geométricas simples, tales como
puntos, líneas y triángulos. Fue desarrollada originalmente por Silicon Graphics Inc. (SGI) en 1992 y se
usa ampliamente en software para el Diseño Asistido por Computadoras (CAD), Realidad Virtual,
Representación Científica, Visualización de Información y Simulaciones. [38]
2.5.1. Función de Trasferencia.
Una vez se tengan visibles los tejidos deseados, es deseable asignarles colores para diferenciar cada tipo
de sustancia. Nuevamente se evidencia la limitación del DICOM, que solamente posee la Unidad de
Hounsfield (UH) [5, 35] como criterio para diferenciar los tejidos. Por eso es preciso asignarle
empíricamente colores a ciertos rangos de UH para crear las estructuras. Esto se logra mediante lo que se
denomina funciones de transferencia o mapas de color, y funcionan de manera muy similar a las tablas de
opacidad [36]. Este concepto permite asignar tantos colores como se desee y hacer que las transiciones
entre colores sean graduales, para obtener un efecto más natural y realista en la visualización.
56
Capítulo 3. Solución Técnica.
3.1. Características del Sistema. En este epígrafe se definen las condiciones a tener en cuenta para el correcto funcionamiento del sistema.
Se tratarán los conceptos más importantes del área de interés. Se describirán las capacidades que deberá
cumplir el sistema a partir de los requisitos funcionales, así como las características del mismo
expresadas por los requisitos no funcionales. Además se definirán los casos de uso del sistema y actores
que interactúan con el mismo.
3.1.1. Captura de Requisitos.
Los requisitos constituyen capacidades o condiciones que el sistema debe cumplir. Estos facilitan el
entendimiento entre usuarios y desarrolladores del sistema. A continuación se exponen los requisitos
funcionales por los que se regirá el sistema y los no funcionales que exponen las características de la
aplicación.
3.1.1.1. Requisitos Funcionales del Sistema.
Los siguientes requisitos establecen las funcionalidades e instrucciones que el sistema debe cumplir en su
implementación.
R1. Cargar Ficheros DICOM.
El sistema permitirá seleccionar el directorio donde se encuentran guardados los ficheros DICOM y
permitirá cargarlos.
R2. Segmentar Imágenes.
El sistema posibilitara definir e identificar regiones de forma automática y semiautomática de
interés para el usuario.
R3. Reconstrucción de Modelos Tridimensionales.
El sistema generará los modelos tridimensionales a partir de las regiones identificadas por el
usuario durante el proceso de segmentación.
R4. Visualización.
El sistema mostrará al usuario en pantalla el resultado de cada uno de los requisitos descritos con
anterioridad.
57
3.1.1.2. Requisitos No Funcionales.
Los siguientes requisitos son propiedades o cualidades que el sistema debe tener, estableciendo de esta
forma aspectos que regulan el comportamiento del mismo.
Requerimientos de Software.
Se requiere que el sistema sea multiplataforma y que se pueda ejecutar sobre los sistemas
Windows XP y Ubuntu 9.10.
Requerimientos de Hardware.
Microprocesador Intel Pentium IV a 3.00GHz.
Memoria RAM de 1.0GB.
Tarjeta de Video: NVIDIA GFORCE 9800 GT.
Diseño e Implementación.
Se utilizará el lenguaje de programación C++ bajo el paradigma de Programación Orientada
a Objetos (POO).
Seguridad.
Confiabilidad: Es obligatorio que la aplicación reproduzcan acertadamente los modelos de
la anatomía humana.
Integridad: No debe existir perdida de información al pasar de una imagen bidimensional a
una representación de un modelo tridimensional que puedan ocasionar criterios erróneos
en los médicos especialistas.
3.1.2. Modelo de Casos de Uso del Sistema.
En esta sección se reconocen los actores del sistema a desarrollar, y se definen los casos de uso del
sistema.
3.1.2.1. Actores del Sistema.
Actores Descripción
Médico Especialista Es quien interactúa con el sistema para ejecutar las
funcionalidades de: Cargar Datos, Procesar dichos
Datos (Segmentar), Reconstruir el modelo a partir
de los datos segmentados; y por ultimo visualizar el
resultado de los procesos Carga, Segmentación y
Reconstrucción.
58
3.1.2.2. Diagrama de Casos de Uso del Sistema.
Figura 33. Diagrama de Casos de Usos del Sistema.
3.1.2.3. Descripción de los Casos de Uso del Sistema.
Cada caso de uso tiene una descripción de las funcionalidades que ejecutará el sistema propuesto como
respuesta a las acciones del usuario. Las tablas presentadas a continuación argumentan los flujos
operacionales de cada caso de uso.
Caso de Uso: Cargar Datos
Actores: Médico Especialista
Propósito: Importar los ficheros con extensión *.dcm.
Resumen: El caso de uso de inicia cuando el actor selecciona la opción de
cargar ficheros. Se selecciona el directorio donde están los ficheros
DICOM y se proceden a cargar todos los ficheros con extensión *.dcm
que estén contenido en ese directorio. Se visualizan las imágenes
correspondientes a cada fichero DICOM importado.
Referencia: R1
Flujo Normal de Eventos:
Acción del Actor: Respuesta del Sistema:
59
1. Selecciona la opción de Cargar Ficheros. 1.1 Muestra un cuadro de dialogo que le permitirá
al usuario el directorios o los ficheros que desea
cargar.
1.2 El cuadro de dialogo solo mostrara los
ficheros con las extensiones especificadas por el
usuario.
2. Selecciona el directorio o los ficheros que desea
cargar.
3. Selecciona la opción de Aceptar. 3.1 Se cierra el cuadro de dialogo y se procede a
la carga de los ficheros seleccionados.
3.2 Muestra en pantalla las imágenes definidas en
cada uno de los ficheros cargados.
Postcondiciones: Se visualizan en pantalla cada una de las
imágenes definida dentro de cada uno de los
ficheros DICOM cargados.
Prioridad: Crítica.
Tabla 1. Descripción del Caso de Uso Cargar Datos.
Caso de Uso: Segmentar Imágenes
Actores: Médico Especialista
Propósito: Identificar mediante asignación de colores las regiones de interés
presentes en las imágenes médicas.
Resumen: El caso de uso de inicia cuando el usuario selecciona la opción de
segmentar. El sistema realiza la segmentación de forma automática o
semiautomática. Se visualizan las regiones identificadas durante el
proceso de segmentación.
Referencia: R1, R2
Precondiciones: Debe haberse ejecutado con anterioridad el Caso de Uso Cargar
Fichero.
Flujo Normal de Eventos:
60
Acción del Actor: Respuesta del Sistema:
1. Selecciona la opción de Segmentar. 1.1 Muestra una nueva ventana donde se solicitan
todos los valores de los parámetros que
intervienen en el proceso de segmentación. Por
defecto los valores de los parámetros están
fijados a los valores que se usan durante el
proceso de segmentación automático.
2. Inicia el proceso de segmentación, pudiendo o no
modificar los valores que se asignan por defecto a
cada parámetro.
2.1 Ejecuta el proceso de segmentación.
2.2 Muestra el resultado de la segmentación en
pantalla.
Flujos Alternos:
Acción del Actor: Respuesta del Sistema
1. Selecciona la opción de segmentar imágenes. 1.1 Si no hay imágenes cargadas se muestra un
mensaje de error notificándole al usuario el error
cometido.
Postcondiciones: Se visualizan en pantalla cada una de las
imágenes definida dentro de cada uno de los
ficheros DICOM cargados.
Prioridad: Crítica.
Tabla 2. Descripción del Caso de Uso Segmentar.
Caso de Uso: Reconstruir
Actores: Médico Especialista
Propósito: Generar la representación tridimensional de las estructuras
anatómicas de interés identificadas por el actor durante el proceso de
segmentación.
Resumen: El caso de uso de inicia cuando el usuario selecciona la opción de
reconstruir modelo 3D. El sistema genera de forma automática la
representación geométrica mediante una superficie triangular de las
estructuras especificadas por el autor del sistema.
61
Referencia: R1, R2, R3
Precondiciones: Debe haberse ejecutado con anterioridad el Caso de Uso Segmentar.
Fichero.
Flujo Normal de Eventos:
Acción del Actor: Respuesta del Sistema:
1. Selecciona la opción de Generar Modelo 3D. 1.1 El sistema realiza la reconstrucción del
modelo mediante el algoritmo Marching Cubes y
muestra los resultados en pantalla.
Postcondiciones: Se visualizan en pantalla cada la reconstrucción
3D de los modelos generados.
Prioridad: Crítica.
Tabla 3. Descripción del Caso de Uso Reconstruir Modelos 3D.
3.2. Análisis y Diseño del Sistema. En este epígrafe se profundiza aún más en el desarrollo del sistema, dando continuidad a lo tratado en el
epígrafe anterior. En la primera parte se abordan los temas del análisis, identificados con los diagramas de
clases del análisis y los diagramas de secuencia correspondientes. A partir del análisis se realizará el
diseño de la aplicación, soportada sobre los diagramas de clases del diseño y sus respectivos diagramas
de interacción.
3.2.1. Diagrama de Clases de Análisis.
Con vistas a esclarecer la comprensión global del sistema se decidió realizar un diagrama general de
clases del análisis, en vez de un diagrama por Caso de Uso como tradicionalmente se hace.
62
Figura 34.Diagrama de Clases de Análisis del Sistema.
3.2.2. Diagrama de Secuencias del Análisis.
Con motivo de aclarar la interacción entre objetos de las clases del análisis se realizan los diagramas de
secuencia de cada uno de los CU identificados en el epígrafe anterior.
63
3.2.2.1. Diagrama de Secuencia del Caso de Uso Cargar Ficheros.
Figura 35.Diagrama de Secuencia del Caso de Uso Cargar Fichero.
3.2.2.2. Diagrama de Secuencia del Caso de Uso Segmentar.
Figura 36. Diagrama de Secuencia del Caso de Uso Segmentar.
64
3.2.2.3. Diagrama de Secuencia del Caso de Uso Reconstruir.
Figura 37. Diagrama de Secuencia del Caso de Uso Reconstruir.
3.2.3. Diagrama de Clases de Diseño.
El diagrama de clases del diseño fue desglosado por paquetes, para mantener la claridad y la fácil
comprensión del mismo. Fueron desarrollados 3 paquetes: el DICOM, Segmentación y el de
Reconstrucción. El paquete DICOM, encierra toda lo referente a la carga de los ficheros y obtención de las
Imágenes Médicas 3D, que luego serán procesadas por el paquete de Segmentación para obtener los
vóxeles y regiones que servirán como punto de entrada al paquete de Reconstrucción para ejecutar sobre
ellos el proceso de generación de los modelos.
65
Figura 38. Vista Global del Diseño. Diagrama de Paquetes del Diseño.
66
3.2.3.1. Diagrama de Clases del Paquete de Estructuras de Datos.
Figura 39. Diagrama de Clases del Paquete – Estructuras de Datos.
67
3.2.3.2. Diagrama de Clases del Paquete de Adquisición de Datos.
Figura 40. Diagrama de Clases del Paquete – Adquisición de Datos.
68
3.2.3.3. Diagrama de Clase del Paquete Segmentación.
Figura 41. Diagrama de Clases del Paquete – Segmentación.
69
3.2.3.4. Diagrama de Clases del Paquete Reconstrucción.
Figura 42. Diagrama de Clases del Paquete – Reconstrucción.
70
3.2.3.5. Diagrama de Clases del Paquete de Visualización.
Figura 43. Diagrama de Clases del Paquete – Visualización.
3.3. Análisis de los Resultados. Para evaluar los resultados de los algoritmos desarrollados se tendrán en cuenta los siguientes criterios
para cada uno de los casos de prueba: dimensiones del volumen de datos, tipo de modalidad en que se
realizó el estudio, uso de memoria RAM y tiempo de procesamiento en segundos. Estos criterios fueron
escogidos teniendo en cuenta que la mayoría de los sistemas de reconstrucción 3D, justifican la demora
en tiempo de procesamiento y el alto consumo de recursos computacionales, con los elevados volúmenes
de datos que se manipulan en el proceso.
3.3.1. Ambiente para el desarrollo de las pruebas.
El módulo de interpretación de ficheros DICOM, los algoritmos de segmentación K-Means, Fuzzy K-Means
y Voxel Growing; así como el algoritmo de reconstrucción Marching Cubes fueron implementados en C++
sobre un hardware de las siguientes características:
71
Procesador Intel a 3.00GHz de velocidad.
Memoria RAM de 2.0GB.
Tarjeta de Video NVIDIA GFORCE GT 9800 con 512 MB de memoria.
3.3.2. Datos de Pruebas.
Los datos de pruebas de nuestros algoritmos fueron escogidos siguiendo dos criterios fundamentales. El
primero de estos es la necesidad que contar con un módulo de reconstrucción de modelos anatómicos 3D,
por lo que se seleccionaron para algunos casos de pruebas imágenes de las modalidades de adquisición
de datos médicos TAC y RM. El segundo fue la necesidad de comparar la robustez de los algoritmos
implementados para cualquier fuente de adquisición de datos de naturaleza volumétrica; por lo que se
escogen bloques de datos certificados internacionalmente para probar estos algoritmos.
3.3.2.1. Caso de Prueba # 1. Adquisición de Imágenes DICOM
Datos de Adquisición.
Identificador Modalidad Dimensión
Profundi
dad del
Color
(bit)
Distancia
entre Vóxeles.
(mm)
Consumo
Teórico de
Memoria
RAM
Consumo Real de
Memoria RAM
1. DataSet de
Bonal TAC 512*512*349 16 0.48x0.48x1.0 512MB 460.0MB
Imagen 1 Imagen 2 Imagen 3
72
3.3.2.2. Caso de Prueba # 2. Segmentación de Imágenes mediante Clustering.
Proceso de Clusterización
Algoritmo. Cantidad de
Clústeres.
Inicialización de los
Centroides. Métrica Demora
Fuzzy Color
K-means 3 Por frecuencia Diferencia de Color 4.859s
Resultado Imagen 1 Resultado de Imagen 2 Resultado de Imagen 3
3.3.2.3. Caso de Prueba # 3. Reconstrucción del Modelo 3D usando Marching Cube.
Proceso de Reconstrucción
Resolución Soporte
(CPU/GPU) Isovalue
Cantidad de
Triángulos Demora FPS
256 GPU 50 150 2796378 3634388 5.70s 5.34
73
Conclusiones Durante la investigación se analizó la estructura del estándar DICOM, identificándose en el mismo la
información relevante referente a la imagen médica, definida a partir de las intensidades de colores en
escalas de grises y en unidades de Hounsfield; lo que posibilitó la implementación de un módulo para
cargar ficheros de imágenes médicas digitales pertenecientes al estudio realizado a un paciente.
Se demostró que el empleo de las técnicas de segmentación basadas en clustering complementadas con
técnicas de crecimiento de regiones, brindan un enfoque de segmentación automática que posibilita
identificar las regiones o zonas de interés presentes en el volumen de datos. El algoritmo propuesto arroja
mejores resultados que los algoritmos propuestos en la bibliografía consultada; puesto que, como el
proceso de segmentación se realiza sobre una estructura de datos tridimensional se erradican los
problemas existentes cuando se segmentan dos imágenes de forma independiente y luego se intenta
encontrar una relación entre ambas.
Se comprobó además que el uso del GPU como unidad central de procesamiento posibilita obtener
respuestas a tiempos de ejecución muy cortos comparados con los tiempos que se obtienen luego de
correr el mismo algoritmo sobre cualquier arquitectura de CPU existente.
Por último, se desarrollo una herramienta que permite la reconstrucción y visualización de modelos
anatómicos y otras estructuras tridimensionales a partir del procesamiento de imágenes; como resultado
de los procesos de carga del fichero DICOM, segmentación, reconstrucción, visualización y exportación
del modelo obtenido en los formatos STL y DXF; permitiendo que, los modelos obtenidos puedan ser
utilizados en otras investigaciones o sistemas que requieran del uso de un modelo geométrico de un
objeto real.
74
Recomendaciones. El desarrollo de esta investigación abrió el camino a futuras investigaciones que pudieran de alguna forma
complementar el resultado obtenido durante la investigación. Algunas de las cuales se enuncian a
continuación en forma de recomendaciones:
1. La aplicación de técnicas y algoritmo de optimización de la geometría posibilitaría representar con
mayor nivel de detalles (mayor número de triángulos) las regiones más significativas dentro de un
modelo y con menos nivel de detalles aquellas son con menor valor para el usuario final. Lo que
permitiría un análisis más detallo los elementos de mayor importancia dentro del modelo
tridimensional.
2. Aplicar técnicas de programación GPGPU permitiría almacenar la salida del “Geometry Shader”
evitando de esta forma la necesidad de recalcular la geometría en cada pasada de render.
Optimizando de esta forma el consumo de recursos del microprocesador gráfico.
3. La visualización de los resultados obtenidos es un aspecto crucial en el proceso de la
reconstrucción por lo que sería muy útil encontrar una forma de asignar de manera automática
colores, opacidad y otras propiedades al modelos de acuerdo a su significado semántico; utilizando
para ello el concepto de función de transferencia.
75
Bibliografía.1. Estándar y Protocolo de Imágenes Medicas DICOM.
2. Digital Imaging and Communications in Medicine (DICOM).
3. The asymptotic decider: resolving the ambiguity in marching cubes. Nielson, M Gregory and Hamann,
Bernd. Arizona : s.n., 1991.
4. On Generating Topologically Correct Isosurfaces from Uniform Samples. Natarajan, B K. Michigan :
s.n., 1991.
5. Marching Cubes: Construction of Topologically Correct Isosurface. Chernyaev, Evgeni V. Russia : s.n.,
1995.
6. Visualization in Medicine. 2008.
7. El uso de los rayos X en la medicina. [Online]
8. Medical Image Processing, Reconstruction and Restoration.
9. http://www.tsid.net/tac/fundamentos.htm. www.tsid.net. [Online]
10. Pereira, Diego Nicolás Corbo.Tomografía Axial Computada. Uruguay : s.n., 2004.
11. Hofer, Matthias.Manual Práctico de TC. Introducción a la TC. España : s.n., 2001.
12. Digital Image Processing.
13. C, Medical Image Processing int.
14. Introducción a la Visión por Computadora, Mejoramiento y Segmentación Digital de Imágenes.
Rodríguez, Roberto. La Habana : s.n., 2008.
15. Molina, R.Introducción al Procesamiento y Análisis de Imágenes Digitales. 1998.
16. Martin, M.Técnicas Clásicas de Segmentación de Imágen. 2002.
17. J, Ignacio and A, Catalina.Segmentación y clasificación de imágenes en color. Aplicación al
diagnóstico de quemaduras.
18. Gonzalez, A M. Segmentación basada en Similaridad.
http://gva1.dec.usc.es/~antonio/docencia/20042005tci/teoria/similaridad/Similaridad.html. [Online]
76
19. Abreu, M D, Barrios, V and Reigosa, A.Selección Automática del Nivel Optimo de Umbral para
Segmentación por Histograma de Imágenes RGB de Cortes Histológicos de Cáncer de Mama. . 2002.
20. Coto, E.Métodos de Segmentación de Imágenes Médicas. 2003.
21. Lorca, Gustavo Toranzo.Módulo de segmentación de Imágenes Médicas Digitales mediante técnicas
de Clustering. 2010.
22. Bourke, Paul. Polygonising a scalar field. http://local.wasp.uwa.edu.au/. [Online] 1994.
http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/.
23. Improving the Robustness and Accuracy of the Marching Cubes Algorithm for Isosurfacing. López,
Adriano and Brodlie, Ken. USA : s.n., 2003.
24. Cubical Marching Squares: Adaptive Feature Preserving Surface Extraction from Volume Data. Ho,
Chien Chang. Taiwan : s.n., 2005.
25. A Marching Voxels Method for Surface Rendering of Volume Data. Feng, Lin Chin, Lin, Yang Don
and Ching, Chung Yeh. Taiwan : s.n., 2001.
26. Brandoli, Paolo. Puntoexe Software. Puntoexe Software a C++ Open Source DICOM Library. [Online]
http://puntoexe.com/content/view/11/2/.
27. DicomLib. Sunnybrook & women's College Health Sciences Centre. [Online]
http://dicomlib.swri.ca/dicomlib.html.
28. Insight Segmentation & Registration Toolkit. NLM. [Online] http://www.itk.org/.
29. Segmentación de Imágenes Digitales con Modelos de Superficie. FIORENTIN, S and LARRABIDE, I.
Buenos Aires : Facultad de Ciencias Exactas, Universidad Nacional del Centro, 2002.
30. Segmentación y clasificación de imágenes en color. Aplicación al diagnóstico de quemaduras. .
Catalina, A and Ignacio, J. 2001.
31. Data Clustering: A Review. Jain, A, Murty, M and FLynn, P. 1999.
32. Definición de Sub-Rodales para una Silvicultura de Precisión: Una aplicación del método Fuzzy K-
means. Ortega, J, Foster, W and Ortega, R. 2002.
33. Marching Cubes: A High Resolution Algorithm. Lorensen, William E. and Cline, Harvey E. 12301,
New York : s.n., 2003. ISBN.
34. Real-Time Volume Graphics. Engel, Klaus, et al., et al. s.l. : EUROGRAPHICS, 2006.
35. Krasnov, M.Matemáticas Superiores para Ingenieros. Moscú : Editorial MIR, 1990.
77
36. Reconstrucción Tridimensional de Modelos Anatómicos a partir de Imagenes DICOM. Pereira,
Osvaldo and Kindelan, Rolando. La Habana : s.n., 2009.
37. Gibara, Tom.Marching Squares Implementation. [Online] 2007. http://www.tomgibara.com/computer-
vision/marching-squares.
38. http://www.opengl.org/about/overview/. http://www.opengl.org/. [Online]
78
Anexos.
79
80
Top Related