Filtrado de imágenes medicas 3D

Transcripción

Filtrado de imágenes medicas 3D
Universidad de Sevilla
Procesamiento de Imágenes Digitales
Filtrado de imágenes medicas 3D
Gregory Caridi
Louise Guillebaud
Irene Martínez
Martínez
Profesores : M. María DEL ROCIO
GONZALEZ DIAZ
M. María José JIMENEZ RODRIGUEZ;
14 enero 2016
Índice general
1. Resumen
2
2. Introducción
3
3. Planteamiento teorico
4
4. Resolución práctica
6
5. Experimentación
8
6. Manual de usuario
9
7. Conclusiones
11
1
Capítulo 1
Resumen
En este artículo presentamos una aplicación diseñada para hacer un proceso de filtrado de imágenes
médicas tridimensionales PET. Para ello será necesario desarrollar una aplicación en la que sea posible abrir una imágen de este tipo, procesarla realizando la máscara, tanto automáticamente como
de manera manual, dando la posibilidad al usuario de modificar en cualquier momento la máscara,
y mostrar los resultados visuales en forma tridimensional. Usaremos dos artículos científicos12 para
estudiar las distintas opciones que se han llevado a cabo en este tema y coger ideas de cómo podemos
abordar el problema.
1
Myungeun Lee ,Wanhyun Cho,Sunworl Kim,Soonyoung Park, Jong Hyo Kim, "Segmentation of interest region in
medical volume images using geometric deformable model.", Computers in Biology and Medicine, Vol. 42, Issue 5, May
2012, pp 523–537.
2
P. Castro, C. Huerga, L.A. Glaría, R. Plaza, S. Rodado, M.D. Marín, A. Mañas, A. Serrada, L. Núñez, "Target volume
segmentation of PET images by an iterative method based on threshold value.", Revista Española de Medicina Nuclear e
Imagen Molecular, Vol. 33, , Issue 6, November–December 2014, pp 331-339.
2
Capítulo 2
Introducción
En este trabajo nos enfocamos en el tratamieto de imágenes médicas PET, a las que realizaremos
un proceso de enmascaramiento de algunas partes conflictivas de las imágenes producidas por los
restos de fluidos médicos utilizados en los pacientes. La acumulación de estos fluídos provoca que
los niveles de las imágenes DICOM1 al componerlas varíen y dificulte la visualización correcta de
los resultados médicos.
1
Extension de imagenes medicas
3
Capítulo 3
Planteamiento teorico
En el trabajo vamos a tratar las imágenes médicas obtenidos en los estudios PET para impedir que
las posibles distorsiones en las zonas de interés dificulten el análisis de los resultados por parte de
los médicos.
Estas distorsiones, que se ven como manchas oscuras en la imágen, vienen provocadas por la acumulación de residuos médicos utilizados para la realización de los estudios PET en algunas zonas
del cuerpo, un ejemplo típico de esto puede ser la vejiga, donde se acumulan los residuos antes de
ser expulsados del cuerpo. También pueden ser el resultado de algunas situaciones médicas de los
pacientes que los doctores ya conocen, y que por tanto, no son de interés para el análisis de los
resultados.
Estas distorsiones tienen fácil arreglo para las imágenes 2D, pues es suficiente con marcar la zona en
cuestión y quitarla de la imágen, de manera que los pixeles con estos niveles tan bajos no interfieran
a la hora de montar la imágen.
(a) Antes el procesado
(b) Despues el procesado
Figura 3.1: Procesado para las imágenes 2D
El problema viene a la hora de montar las imágenes 3D, ya que si intentamos quitar una zona de una
de las capas, esto podría provocar una distorsión a la hora de hacer el montaje en el resto de capas
4
que también dificultaría la visualización de los resultados.
Para intentar dar solución a este problema, vamos a explicar un proceso que consta de tres partes claramente distinguibles.
Hacer una búsqueda, ya sea de manera automática o manual, de un punto inicial situado en la
zona problemática de la imágen. Para ello, hay que dividir la imágen tridimensional en capas,
y dentro de cada capa hay que buscar el punto con el nivel más bajo en la escala de grises. Una
vez obtenemos este punto, interesa guardar la capa en la que se encuentra junto con la fila y
la columna que ocupa dentro de la misma.
Realizar una segmentación en 3D de la zona. Esto se hará buscando, a partir del punto inicial,
los bordes de la zona comparando los niveles en la escala de grises de los pixeles vecinos. Este
proceso se hará no sólo en la capa donde se encuentra el punto inicial, sino también en las
capas vecinas hasta encontrar una forma tridimensional que contiene la zona problemática.
Una vez delimitada la zona que queremos procesar, hay que sustituir el valor de los pixeles
de la zona por un valor que no interfiera con los niveles de la imágen a la hora de hacer el
montaje de la misma, como por ejemplo un valor medio o el valor de fondo de la imágen.
En particular hemos intentado crear una aplicación con una interfaz fácilmente utilizable en la que
el usuario (en este caso el médico) puede realizar las siguientes operaciones:
Cargar la imágen deseada en la aplicación para visualizarla o procesarla. Este archivo debe ser
necesariamente una imágen con extensión .dcm (DICOM).
Visualizar en dos dimensiones todas las imagenes de una imagen DICOM con respecto a un
eje. Aunque las imágenes se encuentran en 2D, se crea un efecto tridimensional al deslizar
un slider situado en la parte inferior de la imágen con el que se van visualizando todas las
imágenes en orden.
Encontrar el punto de la imágen con el valor más bajo en la escala de grises, es decir, se vería
un punto de color oscuro, muy cercano al negro.
Procesar de manera automática la imágen para que corrija las posibles distorsiones que pueda
tener y mejorar la visualización de la misma.
Procesar de manera manual la imágen siguiendo un par de pasos. Primeramente, buscar de
entre todas las capas el punto deseado con el que se desea iniciar el proceso. A continuación,
marcar dicho punto y ejecutar la segmentación de la imágen para la zona que rodea al punto.
Ver paso a paso cómo se ejecuta la aplicación, de manera que se va visualizando las modificaciones que se van realizando sobre la imágen.
Guardar la imágen resultante de ejecutar la aplicación. Esta imágen se guardará también con
extensión DICOM.
5
Capítulo 4
Resolución práctica
Para la implementación de nuestra aplicación hemos decidido usar Matlab, por su potencia a la hora
del procesado de imágenes digitales. Se trata de un entorno de desarrollo integrado (IDE) con un
lenguaje de programación propio (lenguaje M). Dispone una herramienta adicional que expande sus
prestaciones llamada GUIDE, que hemos utilizado como editor de interfaces de usuario (GUI).
A pesar de disponer de un toolbox adicional específico para tratamiento de imágenes, no lo hemos utilizado.
Hemos reutilizado ciertas funciones implementadas por otros programadores y hemos programado
el resto del código utilizando las librerías básicas del sistema.
El código de la aplicación se estructura en el siguiente árbol:
interfaz.m
Es la interfaz principal de la aplicación.
Consta de varias funciones (a parte de las que interactuan con la interfaz), implementadas por
los integrantes del presente artículo cuyo funcionamiento explicaremos a continuación.
• function cargarImagen()
Se activa cuando pulsamos el botón de la aplicación para abrir una imágen.
• function calculaPuntoInicial()
Esta función obtiene de manera automática la capa, fila y columna en la que se encuentra el punto con el que se empieza a procesar la imágen. Para ello es necesario pasarle
la imágen descompuesta en capas y cierta información de la misma como puede ser el
número de capas que tiene.
• function manualPoint()
Si decidimos procesar la imágen de manera manual será necesario hacer uso de esta función. Su finalidad principal es capturar el punto que ha marcado el usuario en la imágen
desde la interfaz y guardar sus coordenadas.
• function searchSegment()
Una vez obtenido el punto inicial, se realiza la búsqueda de la forma 3D que queremos corregir con esta función. Como parámetros de entrada necesita las coordenadas del punto
6
inicial y la imágen. Una vez termina el proceso de búsqueda se tendrá un conjunto de
pixeles contenidos en la zona problemática.
• function modifySegment()
Con esta función se modificarán los valores del conjunto de pixeles, que se le pasa como
entrada junto con la imágen, sustituyendolos por 0 (nivel que tiene el fondo de la imágen). Tras modificarlos devolverá una nueva imágen con los nuevos niveles de la escala
de grises.
7
Capítulo 5
Experimentación
Para testear la aplicación se han realizado numerosas pruebas con las imágenes que nos había mandado Eduardo y las de la profesora. Pero como no hemos terminado la aplicación, no podemos exponer
aqui las pruebas ya que no hemos logrado guardar las imagenes modificadas.
(a) Antes el procesado
(b) Despues el procesado
Figura 5.1: Modificación de la zona
8
Capítulo 6
Manual de usuario
Para poder hacer uso de nuestra aplicación, es indispensable que la máquina donde se vaya a instalar
dispone de Matlab, si no, se tendrá que hacer una instalación previa de este software.
A continuación, la interfaz gráfica es muy sencilla y se divide en dos partes. A la derecha, tenemos
los butones Çargar imagen"(1) y Reiniciar"(2); a la izquierda, "Proceso Automático"(3), "Proceso Manual"(4), "Paso a paso"(5) y por fin "Guardar Imagen"(6).
Figura 6.1: Representación gráfica de la aplicación
Para poner en funcionamiento nuestra aplicación, cargamos las imágenes DICOM que queremos
procesar. Para ello pulsamos el boton Çargar imagen". Se nos abrirá un cuadro de diálogo, y el usario tendra que selectionar sus imagenes DICOM.
Una vez cargadas nuestras imágenes tendramos estas diferentes opciones para hacer el procesamiento:
Podemos pulsar el boton "Procesamiento automatico"para hacer un procesamiento sin mirar
a las imagenes primero.
9
Podemos pulsar el boton "Procesamiento manual". Asi el usario tiene que mirar las diferentes
capas que tiene y selectionar la zona que le interesa para hacer el procesamiento.
Podemos pulsar el boton "Paso a paso"para ver cada una de las etapas realizadas por la aplicacion.
Podemos pulsar el boton "Guardar imagen"para guardar la imagen procesada.
10
Capítulo 7
Conclusiones
Hemos encontrado muchas dificultades durante este proyecto. Al principio, no sabíamos cómo ejecutar nuestras imágenes, esto se debe a que su formato es DICOM. En el periodo inicial, la mayor
parte del tiempo destinado se ha utilizado para intentar ver estas imágenes en 3D, una idea que luego abandonamos. La visualización de imágenes en 3D, aún es posible con algunos software (como
OsiriX o RadiAnt DICOM View), pero no ha sido posible lograr este objetivo con Matlab.
Después de esta primera dificultad, hemos tenido algunos problemas con el código, principalmente con la expansión del procesamiento realizada en una capa con respecto a las capas anteriores
y siguientes. Del mismo modo, no esperabamos ningún problema para realizar la interfaz gráfica,
porque hemos utilizado una herramienta relativamente simple de uso con Matlab, pero resultó que
para hacer un slider que mostrara todas las imágenes DICOM no era tan simple.
Por otro lado, el proyecto que teníamos que hacer estaba muy poco documentado en Internet, ya
que se refiere a un formato de imagen que sólo se utiliza en el caso de exámenes médicos. Así que
no podíamos encontrar una gran cantidad de información que nos resolviera las cuestiones que iban
surgiendo mientras se desarollaba el trabajo.
En una vision general del proyecto, podemos concluir, que no se ha conseguido implementar todas
las funcionalidades originalmente previstas, debido en parte a la pérdida de tiempo en el inicio del
proyecto con la manipulación del formato de las imágenes. Por lo cual con un poco más de tiempo,
podríamos acabar el proyecto con todas las características previstas. Sin embargo, estamos satisfechos con el resultado, aunque el proyecto puede ser mejorados.
11
Bibliografía
[1] Myungeun Lee ,Wanhyun Cho,Sunworl Kim,Soonyoung Park, Jong Hyo Kim, "Segmentation
of interest region in medical volume images using geometric deformable model.", Computers in
Biology and Medicine, Vol. 42, Issue 5, May 2012, pp 523–537.
[2] P. Castro, C. Huerga, L.A. Glaría, R. Plaza, S. Rodado, M.D. Marín, A. Mañas, A. Serrada, L.
Núñez, "Target volume segmentation of PET images by an iterative method based on threshold
value.", Revista Española de Medicina Nuclear e Imagen Molecular, Vol. 33, , Issue 6, November–December 2014, pp 331-339.
12
Anexo I: Tabla de tiempos
Hoja de tiempo de grupo
Fecha
Comienzo Fin
Delta tiempo
Actividad
13:10
Tiempo interrupción
10
20/11/2015
10:30
150
8:30
11:00
30
120
01/12/2015
2/12/2015
2/12/2015
4/12/2015
9/12/2015
11/12/2015
16:00
10:30
10:30
8:30
10:30
8:30
18:20
13:10
13:10
10:30
13:10
10:30
20
10
10
30
10
30
120
150
150
120
150
120
16/12/2015
18/12/2015
10:30
8:30
13:10
10:30
10
30
150
120
22/12/2015
29/12/2015
30/12/2015
31/12/2015
10:30
16:00
16:00
10:00
13:10
18:20
18:20
12:00
10
20
20
0
150
120
120
120
8/01/2016
20:00
22:20
20
120
9/1/2016
10:30
13:10
10
150
Buscar y estudiar unos
articulos de investigación
Estudio y valoración de
TDA
Aprendizaje de Matlab
Aprendizaje de Matlab
Aprendizaje de Matlab
Aprendizaje de Matlab
Desarollo aplicación
Elaboración documentacion
Desarollo aplicación
Elaboración documentación
Desarollo aplicación
Testeo aplicación
Testeo aplicación
Elaboración presentación
Elaboración documentación
Elaboración presentación
27/11/2015
Hoja de tiempos de Gregory Caridi
Fecha
Comienzo Fin
Delta tiempo
Actividad
15:40
Tiempo interrupción
15
26/11/2015
12:30
175
16:30
8:00
20:00
19:30
10:00
00:30
0
0
30
180
120
240
12/12/2015
12:30
15:40
15
175
13/12/2015
20:00
00:30
30
240
20/12/2015
16:30
19:30
0
180
Buscar y estudiar unos
articulos de investigación
Aprendizaje matlab
Desarollo de aplicación
Buscar metodo para
abrir imagenes DICOM
Buscar metodo para
abrir imagenes DICOM
Buscar metodo para
abrir imagenes DICOM
Buscar metodo para
abrir imagenes DICOM
30/11/2015
1/12/2015
8/12/2015
13
21/12/2015
8:00
10:00
0
120
27/12/2015
10:00
15:00
2
120
28/12/2015
16:30
19:30
0
180
3/01/2016
4/01/2016
5/01/2016
10:00
20:00
8:00
15:00
00:30
10:00
2
30
0
120
240
120
7/01/2016
16:30
19:30
0
180
Elaboración documentación
Elaboración documentación
Elaboración documentación
Desarollo de aplicación
Testeo aplicación
Elaboración documentación
Elaboración presentación
Hoja de tiempos de Irene Martinez Martinez
Fecha
Comienzo Fin
Delta tiempo
Actividad
11:40
Tiempo interrupción
15
24/11/2015
8:30
175
12:30
12:00
17:00
15:30
14:00
21:30
0
0
30
180
120
240
8/12/2015
8:30
11:40
15
175
21/12/2015
22/12/2015
27/12/2015
28/12/2015
2/12/2016
3/01/2016
4/01/2016
5/01/2016
20:00
12:30
12:00
10:00
12:30
10:00
17:00
12:00
00:30
15:30
14:00
15:00
15:30
15:00
21:30
14:00
30
0
0
2
0
2
30
0
240
180
120
120
180
120
240
120
7/01/2016
8/01/2016
12:30
12:30
15:30
15:30
0
0
180
180
07/01/2016
12:30
15:30
0
180
11/01/2016
10:00
15:00
2
120
Buscar y estudiar unos
articulos de investigación
Aprendizaje matlab
Aprendizaje matlab
Buscar metodo para
abrir imagenes DICOM
Buscar metodo para
abrir imagenes DICOM
Desarollo de aplicación
Desarollo de aplicación
Desarollo de aplicación
Desarollo de aplicación
Desarollo de aplicación
Desarollo de aplicación
Testeo aplicación
Elaboración documentación
Testeo aplicación
Elaboración presentación
Elaboración presentación
Elaboración documentación
30/11/2015
1/12/2015
7/12/2015
14
Hoja de tiempos de Louise Guillebaud
Fecha
Comienzo Fin
Delta tiempo
Actividad
14:40
Tiempo interrupción
0
29/11/2015
12:30
130
10:30
12:00
0
90
17:40
16:00
23:10
22:15
15:20
22:00
11:35
22:50
10:40
21:30
16:00
19:30
10:00
16:00
16:00
10:30
20:20
18:20
01:00
00:40
17:20
02:35
13:20
02:30
12:00
00:45
18:20
02:00
15:30
18:20
18:20
15:30
0
20
15
0
20
35
10
30
5
20
10
60
40
20
20
60
120
120
95
145
100
240
95
190
75
175
130
330
310
120
120
240
Buscar y estudiar unos
articulos de investigación
Estudio y valoración de
TDA
Aprendizaje de Matlab
Aprendizaje de Matlab
Aprendizaje de Matlab
Aprendizaje de Matlab
Documentación
Documentación
Aprendizaje de Matlab
Desarrollo de aplicación
Desarrollo de aplicación
Desarrollo de aplicación
Documentación
Aprendizaje de Matlab
Testeo Aplicación
Aprendizaje de Matlab
Testeo Aplicación
Documentación
30/11/2015
05/12/2015
06/12/2015
10/12/2015
13/12/2015
17/12/2015
18/12/2015
19/12/2015
20/12/2015
22/12/2015
03/01/2016
05/01/2016
07/01/2016
08/01/2016
01/12/2015
01/12/2015
09/01/2016
Hoja de tiempos por trabajo
Actividad
Buscar y estudiar articulos de
investigación
Aprendizaje matlab
Estudio y valoración del TDA
Desarollo aplicación
Elaboración documentación
Testeo aplicación
Elaboración aplicación
Buscar metodo para abrir
imagenes DICOM
Delta tiempo [min]
630
Delta tiempo [h]
10,5
1775
210
2090
1850
1610
1120
1250
29,6
3,5
34,8
30,8
26,8
18,7
20,8
15
Figura 7.1: Procesado para las imágenes 2D
16

Documentos relacionados