Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia...

98
UNIVERSIDAD POLIT ´ ECNICA DE MADRID ESCUELA T ´ ECNICA SUPERIOR DE INGENIER ´ IA Y DISE ˜ NO INDUSTRIAL Grado en Ingenier´ ıa Electr´ onica y Autom´atica Industrial TRABAJO FIN DE GRADO Segmentaci ´ on del hipocampo en im ´ agenes T1-MRI por el m ´ etodo Patch-Match Sergio Li´ ebana Cerezo Tutor: Carlos Platero Due˜ nas Departamento: Ingenier´ ıa El´ ectrica, Electr´ onica, Autom´ atica y F´ ısica Aplicada Madrid, Abril, 2017

Transcript of Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia...

Page 1: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

UNIVERSIDAD POLITECNICA DE MADRID

ESCUELA TECNICA SUPERIOR DE INGENIERIA Y

DISENO INDUSTRIAL

Grado en Ingenierıa Electronica y Automatica Industrial

TRABAJO FIN DE GRADO

Segmentacion del hipocampo enimagenes T1-MRI por el metodo

Patch-Match

Sergio Liebana Cerezo

Tutor: Carlos Platero Duenas

Departamento: IngenierıaElectrica, Electronica,Automatica y Fısica Aplicada

Madrid, Abril, 2017

Page 2: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

ii

Page 3: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

UNIVERSIDAD POLITECNICA DE MADRID

ESCUELA TECNICA SUPERIOR DE INGENIERIA Y

DISENO INDUSTRIAL

Grado en Ingenierıa Electronica y Automatica Industrial

TRABAJO FIN DE GRADO

Firma Autor

Firma Cotutor (si lo hay) Firma Tutor

Page 4: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

iv

Page 5: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

v

Copyright c©ano. Nombre del alumno

Esta obra esta licenciada bajo la licencia Creative CommonsAtribucion-NoComercial-SinDerivadas 3.0 Unported (CC BY-NC-ND 3.0). Para ver una copia deesta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/deed.es o envıe una cartaa Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, EE.UU.

Todas las opiniones aquı expresadas son del autor, y no reflejan necesariamente las opiniones dela Universidad Politecnica de Madrid.

Page 6: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

vi

Page 7: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

vii

TItulo: tıtulo del trabajoAutor: nombre del alumnoTutor: nombre del tutorCotutor: nombre del cotutor

EL TRIBUNAL

Presidente:

Vocal:

Secretario:

Realizado el acto de defensa y lectura del Trabajo Fin de Grado el dıa ....... de.................... de ... en .........., en la Escuela Tecnica Superior de Ingenierıa y DisenoIndustrial de la Universidad Politecnica de Madrid, acuerda otorgarle la CALIFI-CACION de:

VOCAL

SECRETARIO PRESIDENTE

Page 8: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

viii

Page 9: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Agradecimientos

En primer lugar quiero agradecerles a mis padres todo lo que han hecho y handado siempre por mı, su confianza en mı, ayudandome y apoyandome en mis peoresmomentos para que al final siempre consiga sacar fuerzas de donde parece que no lashay y tambien por inculcarme desde siempre los valores de esfuerzo, responsabilidady sacrificio para poder conseguir lo que uno se propone, no habrıa llegado hasta aquısin ellos. Tambien a mis padrinos, unos segundos padres que en ningun momentohan dejado de estar pendientes de mı y de mostrarme su apoyo en todo lo que hago.Y a toda mi familia que siempre se han ofrecido a ayudarme en lo que pudieran.

Tambien quiero dar las gracias a mi tutor, Carlos Platero, por abrirme las puertaspara participar en un proyecto como este en el que he podido darme cuenta de laimportancia de la investigacion y la ingenierıa en todos los campos, por guiarme,ayudarme y estar pendiente de mı durante todo el desarrollo del proyecto y portodos sus comentarios en clase a lo largo de la carrera para intentar hacernos abrirlos ojos a lo que de verdad significa ser ingeniero.

A mi amiga Marina, ”Palo”, por animarme a entrar en este proyecto y por haberestado ahı tanto en los buenos como en los malos momentos, una amiga que valeoro. A Pablo, buen amigo desde el primer dıa que entre en la escuela y que me haayudado mas que nadie durante toda la carrera, con el que las risas estan a la ordendel dıa. A mi amiga y companera Lin, sin ella todo habrıa resultado mucho masdifıcil y que es un ejemplo de trabajo y esfuerzo para cualquiera. En definitiva, atodos mis amigos que me han acompanado durante esta epoca de mi vida y queespero conservar en las que vienen por delante, Carlos, Pilar, Lalo, Ines, Samu...todos aquellos que de alguna manera han aportado su granito de arena para quetodo fuera mas llevadero. Y como no, a mi amiga Lorena, que siempre ha estado ahıpara cuidarme, apoyarme, para aguantarme en mis momentos de estres y con la quees imposible aburrirse y en el peor de los momentos es capaz de hacerme sonreir.

Muchas gracias a todos.

ix

Page 10: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

x AGRADECIMIENTOS

Page 11: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Resumen

La neuroimagen es una de las tecnicas gracias a las cuales se esta consiguiendoavanzar en el estudio y la comprension de las enfermedades neurodegenerativas comoel Alzheimer. En este proyecto se realiza un analisis de algunas de las tecnicas deneuroimagen que son empleadas para obtener la segmentacion de las subestructurascorticales en imagenes de resonancia magnetica (MRI) y se lleva a cabo la imple-mentacion en Matlab de un metodo de segmentacion longitudinal del hipocampobasado en la tecnica del Patch Match. Mediante la implementacion de este metodose consiguen obtener marcadores como el volumen hipocampal y su rugosidad su-perficial, los cuales pueden ser analizados posteriormente para evaluar su eficacia enel diagnostico de la enfermedad de Alzheimer.

Los resultados de la segmentacion obtenidos por el metodo implementado soncomparados con la segmentacion individual de las imagenes realizada por el metodoPatch Match y con la segmentacion longitudinal llevada a cabo por la tecnica decortes en grafo.

Palabras clave: Alzheimer, hipocampo, neuroimagen, MRI, segmentacion, PatchMatch, FreeSurfer, biomarcadores, Matlab.

xi

Page 12: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

xii RESUMEN

Page 13: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Abstract

Neuroimaging is one of the techniques through which progress is being made inthe study and understanding of neurodegenerative diseases such as Alzheimer’s. Inthis project an analysis of some of the neuroimaging techniques that are used toobtain the segmentation of cortical substructures in magnetic resonance imaging(MRI) is presented and too the implementation in Matlab of a method of longitudi-nal segmentation of the hippocampus based on the Patch Match technique. Throughthe implementation of this method, it is possible to obtain markers such as hippo-campal volume and its surface roughness, which can be analyzed later to evaluateits effectiveness in the diagnosis of Alzheimer’s disease.

The results of the segmentation obtained by the implemented method are compa-red with the individual segmentation of the images performed by the Patch Matchmethod and with the longitudinal segmentation carried out by the technique ofgraph cuts.

Keywords: Alzheimer, hippocampus, neuroimaging, MRI, segmentation, Patch Match,FreeSurfer, biomarkers, Matlab.

xiii

Page 14: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

xiv ABSTRACT

Page 15: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Indice general

Agradecimientos IX

Resumen XI

Abstract XIII

Indice XVII

1. Introduccion 1

1.1. Motivacion del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3. Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . 2

2. Estado del arte 3

2.1. La enfermedad del Alzheimer. . . . . . . . . . . . . . . . . . . . . . . 3

2.2. Neuroimagen: Resonancia Magnetica. . . . . . . . . . . . . . . . . . . 4

2.3. Biomarcadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.4. Atlas: HarP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.5. Segmentacion de imagenes. . . . . . . . . . . . . . . . . . . . . . . . . 8

2.5.1. Segmentacion basada en registro de imagenes. . . . . . . . . . 9

2.5.2. Segmentacion basada en patches. . . . . . . . . . . . . . . . . 10

2.6. Patch Match. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3. Recursos utilizados en el analisis y la segmentacion de imagenesMRI 21

xv

Page 16: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

xvi INDICE GENERAL

3.1. FreeSurfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.1.1. Instalacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.1.2. Configuracion. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2. FSL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.1. Instalacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.2. FLIRT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.3. ANTs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.3.1. Instalacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.3.2. Configuracion. . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.4. ADNI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.5. MATLAB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.6. PuTTY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.7. FilleZilla. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.8. BrainSuite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.9. CMake. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.10. Visual Studio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4. Preprocesado de las imagenes 31

4.1. Descarga de las imagenes. . . . . . . . . . . . . . . . . . . . . . . . . 31

4.2. Skull-Stripping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.3. Registro al espacio MNI152. . . . . . . . . . . . . . . . . . . . . . . . 35

5. Metodos de segmentacion 39

5.1. Segmentacion longitudinal de FreeSurfer. . . . . . . . . . . . . . . . . 39

5.1.1. CROSS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.1.2. BASE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.1.3. LONG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.1.4. Registro al espacio normalizado. . . . . . . . . . . . . . . . . . 47

5.2. Segmentacion de las imagenes por el metodo Patch Match. . . . . . . 50

Page 17: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

INDICE GENERAL xvii

5.2.1. Algoritmo Patch Match 4D. . . . . . . . . . . . . . . . . . . . 54

6. Implementacion de funciones MEX 59

6.1. Funciones MEX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

6.2. Adaptacion del algoritmo de Patch Match a una funcion MEX. . . . . 62

6.2.1. Manejo de imagenes multidimensionales. . . . . . . . . . . . . 62

6.2.2. Implementacion de la funcion de Patch Match. . . . . . . . . . 65

7. Resultados y discusion 69

7.1. Clasificacion de los resultados de segmentacion. . . . . . . . . . . . . 69

8. Conclusiones 73

8.1. Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

8.2. Desarrollos futuros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Bibliografia 75

Page 18: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

xviii INDICE GENERAL

Page 19: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Indice de figuras

2.1. Cerebro sano y con Alzheimer . . . . . . . . . . . . . . . . . . . . . . 4

2.2. Elementos de una maquina de resonancia magnetica . . . . . . . . . . 5

2.3. Muestra de la variacion volumetrica del hipocampo segun el grado depresencia de la enfermedad. . . . . . . . . . . . . . . . . . . . . . . . 6

2.4. La corteza cerebral envuelve el cerebro. Se representa en color oscuro. 7

2.5. Estructuras incluidas en el hipocampo durante las votaciones . . . . . 8

2.6. Diferentes operaciones que componen la transformacion afın: Rota-cion, cizallamiento, translacion y escalado. . . . . . . . . . . . . . . . 10

2.7. Ejemplo de transformacion no rıgida. . . . . . . . . . . . . . . . . . . 10

2.8. Pasos para preparar la biblioteca de atlas . . . . . . . . . . . . . . . . 11

2.9. Mascara de inicializacion del hipocampo . . . . . . . . . . . . . . . . 12

2.10. Esquema de la segmentacion de un voxel xi incluido en la mascara deinicializacion segun el metodo de Coupe . . . . . . . . . . . . . . . . 13

2.11. Comparacion de la segmentacion obtenida por los distintos metodospara el mejor sujeto (arriba), un sujeto medio (centro) y el peor sujeto(abajo). Se muestra la segmentacion manual (rojo), la segmentacionbasada en patches (verde), basada en la mejor plantilla (azul) y ba-sada en apariencia (amarillo) con sus correspondientes ındices kappa.Se observa que los ındices kappa mas altos en los tres sujetos se danen el metodo propuesto basado en patches. . . . . . . . . . . . . . . . 14

2.12. Esquema del metodo PatchMatch optimizado. CI- Inicializacion res-tringida, PS- Propagacion, CRS- Busqueda aleatoria restringida. . . . 17

2.13. Conjunto que opera el metodo propuesto. Busqueda de los patchespor el metodo PatchMatch, fusion del etiquetado y obtencion de unmapa de estimacion de las etiquetas. . . . . . . . . . . . . . . . . . . 18

3.1. Atlas probabilıstico MNI152 . . . . . . . . . . . . . . . . . . . . . . . 24

xix

Page 20: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

xx INDICE DE FIGURAS

3.2. Logo de la iniciativa ADNI . . . . . . . . . . . . . . . . . . . . . . . . 26

3.3. Importancia global de ADNI. Se muestra en azul las regiones dondese investiga siguiendo los protocolos de ADNI. . . . . . . . . . . . . . 27

4.1. Acceso a las imagenes de ADNI. . . . . . . . . . . . . . . . . . . . . . 32

4.2. Direcitorio para la seleccion de las imagenes a descargar. . . . . . . . 32

4.3. Imagen sin procesar tras su descarga e imagen tras haber realizado elskull-stripping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.4. Atlas probabilıstico MNI152 . . . . . . . . . . . . . . . . . . . . . . . 36

4.5. Imagen tras realizar el skull-stripping (izquierda) e imagen tras haberrealizado el registro al espacio MNI152 (derecha). . . . . . . . . . . . 36

5.1. Diagrama de los pasos que componen el procesamiento longitudinal . 40

5.2. Atlas GCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.3. Diagrama de flujo de los pasos seguidos durante el CROSS . . . . . . 42

5.4. imagen original (izquierda), imagen tras el procesamiento del CROSS(derecha) e imagen del etiquetado obtenido (abajo). . . . . . . . . . . 43

5.5. Imagenes del paciente obtenidas tras el CROSS (arriba) e imagen dela plantilla resultante (abajo). . . . . . . . . . . . . . . . . . . . . . . 45

5.6. Imagen obtenida tras el CROSS (izquierda) e Imagen obtenida trasel LONG (Derecha) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.7. Imagen obtenida tras el CROSS (izquierda) e imagen obtenida trasel registro al espacio MNI152 con ANTs (Derecha) . . . . . . . . . . . 49

5.8. Visualizacion de la funcionalidad introducida en el paso de propa-gacion 4D. El patch del scan 2 de coordenadas (x,y,z,2) y su patchasociado en los atlas se comparan con el mismo patch del scan anterior(x,y,z,1) y siguiente (x,y,z,3) y sus asociados . . . . . . . . . . . . . . 56

6.1. Interfaz grafica de CMake. Aparece resaltado en un recuadro rojoarriba el lugar donde seleccionar los directorios de los archivos fuente ylos binarios. Abajo a la izquierda las opciones de configurar y generarel proyecto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Page 21: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Indice de tablas

7.1. Resultados de clasificacion obtenidos para los tres metodos utilizandoel volumen hipocampal. . . . . . . . . . . . . . . . . . . . . . . . . . . 70

xxi

Page 22: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

xxii INDICE DE TABLAS

Page 23: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Capıtulo 1

Introduccion

1.1. Motivacion del proyecto

La enfermedad del Alzheimer se ha convertido en una de las enfermedades neu-rodegenerativas mas comunes en la sociedad moderna y es a su vez una de las masdesconocidas para la medicina. Por ello, actualmente uno de los objetivos principa-les en el campo de la investigacion medica es conocer mas a fondo esta enfermedad,investigar sobre las causas que la provocan y sus efectos. De esta manera, se podranencontrar biomarcadores que permitan diagnosticar antes la enfermedad para poderaplicar un tratamiento con el que frenar su avance.

Los biomarcadores son, entre otras cosas, variables cuyas medidas pueden utili-zarse de manera objetiva para llevar a cabo el diagnostico de una enfermedad.

El principal efecto fısico asociado a esta enfermedad tiene lugar sobre determi-nadas estructuras cerebrales variando su morfologıa y su volumen. Una de las masafectadas, y sobre la que se centra este trabajo, es el hipocampo.

Para estudiar estas estructuras es necesario recurrir a la neuroimagen median-te imagenes de resonancia magnetica (MRI- Magnetic Resonance Imaging ). Esteestudio se presenta largo y costoso para los especialistas ya que requiere de la seg-mentacion manual de las estructuras cerebrales que se pretenden analizar. Por ello,actualmente se esta trabajando para desarrollar metodos de segmentacion automa-tizados que ayuden a agilizar el proceso de segmentacion y que ademas sean capacesde evaluar el area de estudio comparando con una base de imagenes cuya segmen-tacion ha sido realizada anteriormente por expertos. Estas imagenes se denominanatlas.

Estos metodos de segmentacion aun estan en proceso de desarrollo ya que es ne-cesario comprobar su fiabilidad y que sean lo mas proximo posible a la segmentacionmanual.

1

Page 24: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

2 CAPITULO 1. INTRODUCCION

1.2. Objetivos

En este proyecto se pretende desarrollar un metodo de segmentacion del hipocam-po a partir de imagenes de resonancia magnetica cerebrales potenciadas en secuenciaT1 (T1-MRI). Ademas, se pretende que este metodo permita obtener distintas ca-racterısticas propias del hipocampo para su posterior analisis.

Ası mismo, el desarrollo de este metodo se acompanara de un analisis longitudinala lo largo de dos anos de un numero determinado de pacientes. Estos pacientes,estan clasificados en distintos grupos segun sea el grado de avance de la enfermedaddel Alzheimer en cada uno de ellos. El objetivo final es colaborar en el desarrollode algoritmos y herramientas de analisis que permitan ayudar a la deteccion y eldiagnostico temprano de biomarcadores del Alzheimer.

1.3. Estructura del documento

A continuacion y para facilitar la lectura del documento, se detalla el contenidode cada capıtulo.

En el capıtulo 1 se presentas una breve introduccion sobre el tema a tratar enel proyecto, ası como los objetivos de este.

En el capıtulo 2 se realiza un repaso al estado de la tecnica de los ambitos queabarca el proyecto.

En el capıtulo 3 se presentan las herramientas, los recursos y los materialesempleados en la segmentacion y analisis de las imagenes.

En el capıtulo 4 se presenta la obtencion de las imagenes y las tecnicas depreprocesado a las que son sometidas.

En el capıtulo 5 se exponen los metodos de segmentacion estudiados y se pre-senta el metodo implementado.

En el capıtulo 6 se explica la realizacion de las funciones MEX para la optimi-zacion del metodo implementado.

En el capıtulo 7 se exponen las conclusiones y posibles mejoras y lıneas detrabajo para continuar el proyecto.

Page 25: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Capıtulo 2

Estado del arte

La enfermedad del Alzheimer ha sido un importante objeto de estudio durantelas ultimas decadas. Debido a ello, hay una gran cantidad de informacion que esnecesario conocer para poder llevar a cabo una correcta investigacion. Con el fin defacilitar lo maximo posible la comprension de los temas tratados en este proyecto, alo largo de este capıtulo se va a realizar un analisis y explicacion de diversos aspectosy estudios realizados sobre esta enfermedad.

2.1. La enfermedad del Alzheimer.

La enfermedad del Alzheimer es un tipo de enfermedad neurodegenerativa pro-gresiva. Fue diagnosticada por primera vez en el ano 1906 por Alois Alzheimer. Sinembargo, hasta la segunda mitad del siglo XX no se empezo a tener en consideracioncomo causa de demencia. Finalmente, se ha reconocido como la causa mas comunde demencia entre la gente mayor. El aumento de esta enfermedad es en parte de-bido al incremento de la esperanza de vida en los paıses desarrollados, ya que estaenfermedad aumenta su riesgo de aparicion a partir de los 65 anos. El conocimientosobre las causas y efectos de este tipo de enfermedades se ha incrementado en losultimos 30 anos gracias al avance de la tecnica y de nuevos metodos de estudio comola neuroimagen [1].

De momento no existe cura contra esta enfermedad, que va empeorando de ma-nera progresiva a lo largo de un periodo medio de unos ocho o diez anos desde ladeteccion de los primeros sıntomas hasta la muerte del paciente.

El Alzheimer se caracteriza por el deterioro progresivo de determinadas areasdel cerebro, lo que provoca sıntomas como desorientacion, perdidas de memoria,problemas en el aprendizaje, etc. Uno de los motivos por los cuales es complicada ladeteccion temprana de la enfermedad es que en las primeras etapas los sıntomas sonmuy leves, por lo que se pueden confundir facilmente con un envejecimiento normalu otro tipo de demencia.

Numerosos estudios han demostrado que una de las areas del cerebro que se ve

3

Page 26: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

4 CAPITULO 2. ESTADO DEL ARTE

Figura 2.1: Cerebro sano y con Alzheimer

mas afectada es el hipocampo. Esta zona del cerebro esta asociada a la formacionde nuevos recuerdos, a la orientacion espacial y a la deteccion de estımulos. Porello, se produce la perdida de la memoria reciente y de facultades intelectuales asıcomo tambien puede provocar desorientacion y favorecer la aparicion de ansiedad ydepresion.

A lo largo del desarrollo de la enfermedad tienen lugar variaciones importantesen el volumen y la morfologıa del hipocampo, llegando a presentar una reduccionanual del cinco por ciento en las fases mas avanzadas [2]. Esta atrofia comienza enlas primeras etapas del deterioro cognitivo y su gravedad aumenta con el deteriorode este. Debido a esto, la volumetrıa del hipocampo es una herramienta de utilidaddiagnostica que permite evaluar la gravedad de la enfermedad.

2.2. Neuroimagen: Resonancia Magnetica.

Para poder estudiar el volumen del hipocampo es necesario recurrir a la neuro-imagen. Antes del desarrollo de esta, la unica manera de estudiar el deterioro delas estructuras cerebrales era tras la muerte del paciente. Esto ayudaba a conocer eldeterioro que podıan alcanzar las estructuras cerebrales y a comprender la enferme-dad, pero no servıa para contribuir al desarrollo y seguimiento de un tratamientoque permita tratarla ni para poder obtener biomarcadores con los que diagnosticarlade manera temprana.

Gracias a los avances en neuroimagen ahora sı se puede estudiar la evolucion deldeterioro de las estructuras cerebrales durante la vida del paciente. Lo mas utilizadoson las imagenes por resonancia magnetica (MRI), ya que aporta mejores matices yevita la exposicion a radiaciones que pueden ser perjudiciales. El uso de este tipo deimagenes permite obtener, de manera no invasiva, informacion sobre la estructuray composicion del cerebro, especialmente las areas formadas por materia gris. Estatecnica, combina el uso de imanes capaces de generar campos magneticos de granintensidad con potentes ondas de radio para crear imagenes de los tejidos internosy el cerebro.

Page 27: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

2.3. BIOMARCADORES. 5

Figura 2.2: Elementos de una maquina de resonancia magnetica

La MRI esta basada en el principio de la resonancia magnetica nuclear. Esteprincipio consiste en crear un campo magnetico constante de alta intensidad que secentre en la zona que se pretende estudiar. Este campo afecta a los nucleos atomicosde los atomos provocando una alineacion de sus momentos magneticos. Esta alinea-cion puede ser en el mismo sentido, conocida como alineacion paralela, o en sentidocontrario, lo cual se denomina alineacion antiparalela. La intensidad del campo yla orientacion de estos momentos define la frecuencia de resonancia magnetica, asıcomo el porcentaje de nucleos atomicos en cada estado. Posteriormente los nucleosen estado paralelo se pasan a antiparalelo mediante la emision de radiacion electro-magnetica a una frecuencia determinada. Esto hace que los atomos emitan energıadurante un breve periodo de tiempo que es recogida por el instrumental adecuadopara ser procesada e interpretada.

La intensidad del campo magnetico utilizado puede ir desde los 0,3T a los 7T.En este proyecto las imagenes con las que se trabaja estan ponderadas en T1 ya quees la mas comun con la que se trabaja en los hospitales.

2.3. Biomarcadores.

Uno de los objetivos de la investigacion en el campo del Alzheimer es la busquedade biomarcadores que ayuden a poder realizar un diagnostico temprano de la en-fermedad. Un biomarcador es una variable biologica medible y cuyos valores estanestudiados de tal manera que puede utilizarse para llevar a cabo un diagnosticoobjetivo y fiable de una enfermedad.

Hasta el dıa de hoy todavıa no se ha encontrado ningun biomarcador que permitallevar a cabo un diagnostico temprano y definitivo de la enfermedad. Como posiblesbiomarcadores se estan realizando investigaciones por distintas ramas [3]:

Marcadores geneticos: se ha observado que alteraciones o mutaciones en de-

Page 28: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

6 CAPITULO 2. ESTADO DEL ARTE

terminados genes estan asociadas a la aparicion de la enfermedad. Tambien,ciertos cromosomas parecen poder ser indicativo de riesgo de desarrollar la en-fermedad como el alelo e4 del gen APOE (cromosoma 19). Este alelo aparece enmayor cantidad en los sujetos con enfermedad del Alzheimer en comparacioncon los sujetos de control.

Propiedades del lıquido cefalorraquıdeo y del plasma: uno de los elementos conmas posibles biomarcadores es el lıquido celaforraquıdeo, sin embargo, la extrac-cion de este no es algo muy comun en pacientes con demencia. Principalmente,en los pacientes con Alzheimer se observa una disminucion de la concentracionde ab42 y un aumento de tau fosforilada. Por otro lado, tambien se estudia laexistencia de posibles biomarcadores en plasma ya que su deteccion serıa masrapida y sencilla, sin la necesidad de llevar a cabo una prueba invasiva comola puncion lumbar. Esta opcion ofrece menos posibilidades y hasta el momentono se ha encontrado nada que pueda evidenciar la existencia de la enfermedaddebido a la barrera hematoencefalica.

Neuroimagen: otra rama de estudio, es la observacion de cambios en distintasestructuras cerebrales mediante la neuroimagen. Los principales biomarcadoresque se estudian a traves de la neuroimagen son:

• Volumetrıa hipocampal: como ya se ha comentado anteriormente, el hi-pocampo es una de las estructuras con mayor deterioro a lo largo de laenfermedad. Por ello, su volumen es uno de los principales posibles bio-marcadores a tener en cuenta, ya que su disminucion se produce desde lasprimera etapas de la enfermedad.

Figura 2.3: Muestra de la variacion volumetrica del hipocampo segun el grado de presencia de laenfermedad.

• Rugosidad superficial: esta caracterıstica es complementaria a la volumetrıahipocampal. Debido a su propia atrofia, la rugosidad superficial del hipo-campo aumenta con el deterioro de este.

• Espesor de la corteza cerebral: tambien se ha observado una disminucion dela corteza cerebral en ciertos puntos como en la zona del lobulo temporal.Ademas, el espesor de la corteza entorrinal se utiliza actualmente para eldiagnostico de la enfermedad.

Page 29: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

2.4. ATLAS: HARP 7

Figura 2.4: La corteza cerebral envuelve el cerebro. Se representa en color oscuro.

En este proyecto se trabaja en el ambito de la neuroimagen, por lo que se vaa tratar de proporcionar mecanismos que faciliten y agilicen lo maximo posible elanalisis de las imagenes y la obtencion de datos relevantes para la investigacion ydeteccion de posibles biomarcadores.

2.4. Atlas: HarP

Los atlas son un conjunto de imagenes MRI en las cuales la estructura anatomicade interes ha sido previamente segmentada por expertos. En los atlas de imagenescerebrales, a cada una de las estructuras que componen el cerebro se le asigna unetiquetado, lo que permite conocer cual es la estructura que se pretende segmentar.Estos atlas se utilizan para ayudar a la segmentacion de la imagen de un pacientemediante la comparacion de los atlas con la imagen. Para que el proceso sea lomas preciso posible, es necesario que la segmentacion manual de los diferentes atlasse lleve a cabo en base a unos criterios comunes en todos ellos. Para ello, se handesarrollado diversos protocolos de segmentacion que intentan establecer un estandaren la forma y la delimitacion del hipocampo.

En 2010 comenzo una iniciativa promovida por investigadores de ADNI y el Eu-ropean Alzheimer Disease Consortium (EADC) cuyo objetivo es unir los criteriosde los 12 protocolos mas utilizados para la segmentacion manual de imagenes deresonancia magnetica del hipocampo y las diferentes partes que lo componen. Ası escomo nace el Harmonized Hippocampal Protocol (HarP o HHP), que permite crearun acuerdo sobre los lımites del hipocampo y la forma de segmentarlo. Como sedescribe en el artıculo ”The EADC-ADNI Harmonized Protocol for manual hippo-campal segmentation on magnetic resonance: Evidence of validity”[4], para llevarloa cabo se siguio un procedimiento delphi, que consiste en realizar votaciones sobrelos distintos criterios de una serie de expertos hasta conseguir que sus opinionesconverjan y se puedan unir en uno solo. Para realizar la votacion se pusieron encontacto con 16 expertos, incluidos los autores de los 12 protocolos mas influyentes.Estos, eran invitados a responder a una serie de cuestiones basadas en su experiencia

Page 30: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

8 CAPITULO 2. ESTADO DEL ARTE

y a cada uno de ellos se le informaba de las repuestas dadas por el resto. En lascuestiones planteadas a los expertos se les pedıa que explicaran razonadamente queestructuras incluirıan en el hipocampo. Tras ello, las respuestas razonadas de cadauno se mostraban anonimante al resto y se iban realizando votaciones repitiendode manera consecutiva este proceso hasta conseguir que convergieran en un criteriocomun.

Tras llevar a cabo las votaciones y llegar a un consenso, se obtuvo como resultadola inclusion en la segmentacion de la cabeza, cuerpo y cola del hipocampo ası comodel alveus, la fimbria y el subiculum entero. Todas estas estructuras en su conjuntodan lugar al modelo definitivo de la segmentacion manual del hipocampo.

Figura 2.5: Estructuras incluidas en el hipocampo durante las votaciones

Gracias al protocolo HarP actualmente es posible comparar directamente la pre-cision de los resultados de segmentacion llevados a cabo en diferentes estudios y condiferentes algoritmos, lo que facilita y agiliza la investigacion.

2.5. Segmentacion de imagenes.

La segmentacion de una imagen consiste en extraer de ella determinados objetosque nos son de interes. Este proceso permite separar la informacion util de la no rele-vante, facilitando el analisis de las partes segmentadas y desechando la informacionque no interesa para el estudio.

Como se menciono anteriormente, la segmentacion manual de imagenes medicasde resonancia magnetica es un proceso costoso para los expertos ya que requiere demucho tiempo de dedicacion. Para poder facilitar este trabajo se han desarrolladosalgoritmos de segmentacion que realizan una segmentacion automatica o semiau-tomatica de las imagenes. Para realizar la agrupacion de los voxeles pertenecientesa una determinada estructura los algoritmos se basan en las siguiente propiedadesbasicas de los valores del nivel de grises de los voxeles:

Discontinuidad: trata de dividir la imagen en funcion de los cambios bruscos delos niveles de gris. Estos cambios hacen referencia a bordes o lineas que definenel contorno de un objeto.

Similitud: al contrario que en la discontinuidad, la imagen se divide agrupandolos voxeles que tienen niveles de grises similares.

En lo que se refiere a imagenes cerebrales, la segmentacion trata de separar las

Page 31: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

2.5. SEGMENTACION DE IMAGENES. 9

distintas subestructuras corticales del cerebro. Ası, se consigue facilitar el estudioindependiente de cada una de estas estructuras, pudiendose llevar a cabo obser-vaciones sobre cambios en el volumen, la morfologıa u otras propiedades. Existennumerosos metodos de segmentacion de entre los cuales a continuacion se explicaranalgunos de ellos que estan implicados en este proyecto.

2.5.1. Segmentacion basada en registro de imagenes.

La segmentacion del hipocampo es complicada debido a su pequeno tamano, altavariabilidad, bajo contraste y lımites discontinuos en las MRI. Hasta la fecha se handesarrollado numerosos metodos de segmentacion. El desarrollo de estas tecnicas demanera robusta y fiable se esta convirtiendo en uno de los grandes desafıos en lasMRI.

De entre los metodos de segmentacion que se estan desarrollando destacan losque utilizan una biblioteca de plantillas o atlas gracias a su gran precision. Parapoder comparar imagenes MRI de un paciente con un conjunto de atlas es necesarioque todas las imagenes se encuentren en un determinado espacio normalizado. Elproceso para transformar las imagenes a este espacio se conoce como registro. Esdecir, el registro de imagenes consiste en aplicar transformaciones espaciales sobreestas de tal manera que queden todas alineadas en el mismo espacio estereotaxico.Gracias al desarrollo del registro de imagenes se ha conseguido aumentar la precisionen la deteccion de pequenas diferencias entre varias imagenes.

Registro afın y registro no rıgido.

Se pueden definir dos tipos de registro en funcion de la clase de transformacionesque se realicen sobre las imagenes:

Registro afın: es aquel que realiza transformaciones lineales de rotacion, trans-lacion y escalado para conseguir la alineacion de las imagenes en el mismoespacio. Estas transformaciones se realizan de manera global a toda la imagenpor lo que no se pueden aplicar localmente a una seccion de esta. Este tipo detransformaciones se llevan a cabo cuando no es necesario deformar localmenteninguna estructura para conseguir la alineacion de las imagenes (figura 2.6).

Registro no rıgido: es aquel que es capaz de deformar la morfologıa de lasimagenes de manera local para alinearlas. Este registro puede estar basado enintensidad o en la geometrıa. En el ambito de la medicina, los mas utilizados sonlos basados en intensidad, que son aquellos en los que la informacion importanteesta en los valores de intensidad de la imagen (figura 2.7).

En este trabajo se aplica el registro afın de tal manera que se pueden realizar lastransformaciones necesarias para transformar las imagenes de los pacientes al espacionormalizado de los atlas. Al estar todas las imagenes alineadas en el mismo espacioes posible realizar una comparativa entre los patches de los atlas y de las imagenesde los pacientes para poder llevar a cabo la segmentacion.

Page 32: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

10 CAPITULO 2. ESTADO DEL ARTE

Figura 2.6: Diferentes operaciones que componen la transformacion afın: Rotacion, cizallamiento,translacion y escalado.

Figura 2.7: Ejemplo de transformacion no rıgida.

2.5.2. Segmentacion basada en patches.

Actualmente, los metodos de segmentacion mas empleados y que mas se estansometiendo a investigacion y desarrollo son los que utilizan patches para la observa-cion y comparacion de las distintas caracterısticas de las imagenes. Un patch es unconjunto de voxeles proximos. A continuacion se presenta un resumen de algunosartıculos publicados que estudian y presentan diferentes metodos para llevar a caboeste tipo de segmentacion.

En el artıculo “Patch-based segmentation using expert priors: application to hi-pocampus and ventricle segmentation” [5] se presenta un metodo basado en patchescon fusion de etiquetas con ponderacion donde la importancia de cada muestra de-pende unicamente de la similitud de la intensidad de los patches de los atlas con elde la imagen de estudio. Los metodos basados en la comparacion de patches aportanun gran rendimiento a pesar de su simplicidad.

En este artıculo se propone realizar una aproximacion no-local basada en patchesutilizando como atlas una segmentacion manual llevada a cabo por expertos. Estemetodo se diferencia de los otros en que mientras otros metodos trabajan a nivelde estructuras anatomicas, este lo hace a una escala mas fina utilizando patches.

Page 33: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

2.5. SEGMENTACION DE IMAGENES. 11

Por lo tanto, logra el etiquetado de cada voxel individualmente comparando supatch de alrededor con los patches de los atlas, en los cuales, el etiquetado de losvoxeles centrales es conocido. Cuando el patch de la imagen de estudio es similar enintensidad a uno de los de los atlas sus voxeles centrales se consideran pertenecientesa la misma estructura o tejido y el patch del atlas se utiliza para estimar el etiquetadofinal del patch asociado de la imagen. Ademas, en este metodo se utiliza la diferenciade intensidad entre el patch de estudio y el del atlas para realizar una fusion deetiquetas ponderada basada en estimadores no-locales. Estos estimadores son elcontraste y la luminosidad. De esta manera se da una ponderacion mayor a lasmuestras en las cuales los estimadores mencionados sean mas similares. Finalmente,se hace una fusion de los etiquetados en funcion de las ponderaciones calculadas.

Para llevar a cabo el metodo propuesto las imagenes que van a conformar la bi-blioteca de atlas deben pasar por varias etapas de procesado. Estas etapas consistenen la reduccion del ruido o denoising y la correccion de la no homogeneidad paraasegurarse de que tejidos iguales tengan intensidades iguales en todas las imagenes.Posteriormente se realiza un registro afın para pasarlas a un espacio estereotaxicocomun. Por ultimo, se normaliza la intensidad y se recorta la imagen alrededor deuna region de interes (ROI- Region of Interest) para reducir el tamano de la bi-blioteca. Despues de estos pasos los atlas ya estan preparados para el proceso de lasegmentacion (figura 2.8).

Figura 2.8: Pasos para preparar la biblioteca de atlas

Page 34: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

12 CAPITULO 2. ESTADO DEL ARTE

El primer paso para llevar a cabo la segmentacion consiste en restringir la zonaa segmentar mediante la creacion de una mascara de inicializacion. Esto consiste enseleccionar los voxeles de la ROI que pueden aportar mas informacion. La seleccionde los voxeles se realiza utilizando la union de todas las segmentaciones manualesllevadas a cabo por expertos en los atlas. De esta manera se asegura que la mascaraenvuelva toda la estructura que se desea segmentar (figura 2.9).

Figura 2.9: Mascara de inicializacion del hipocampo

Tras esto, se seleccionan los atlas mas similares a la imagen de estudio. La se-leccion de mas de un atlas permite eliminar posibles errores que podrıan ser intro-ducidos individualmente por alguno de ellos. Para seleccionar los atlas se utiliza lasuma de diferencias al cuadrado (SSD). Despues, se lleva a cabo una busqueda delos patches mas similares en una region cubica alrededor de la zona de estudio. Lafuncion que rige la medida de similitud de los patches es la siguiente:

ss =2µiµs,j

µ2i + µ2

s,j

∗ 2σiσs,jσ2

i + σ2s,j

Donde µ es la media y σ la desviacion estandar. El subındice i representa el voxelobjetivo y el subındice s,j los voxeles de referencia.

Tras obtener los atlas mas similares es necesario realizar una fusion del etiquetadoobtenido para los voxles. Para cada uno de los voxeles objetivo la fusion de lasetiquetas ponderadas obtenidas se realiza con la funcion:

v(xi) =

∑Ns=1

∑j∈Vi

w(xi, xs,j)ys,j∑Ns=1

∑j∈Vi

w(xi, xs,j)

Donde ys,j es la etiqueta dada por el experto al voxel xs,j y w(xi , xs,j)es el pesoasignado a ys,j por la comparacion de los patches. Este peso se calcula cuando lamedida de similitud ss supera un umbral th con la siguiente expresion:

Page 35: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

2.5. SEGMENTACION DE IMAGENES. 13

w(xi, xs,j) = exp(−||P (xi)− P (xs,j)||22

h2(x))

Donde P(xi) representa el patch cubico centrado en xi.

Figura 2.10: Esquema de la segmentacion de un voxel xi incluido en la mascara de inicializacionsegun el metodo de Coupe

Finalmente, solo se consideran los atlas mas similares para realizar la ponderaciondel etiquetado, que son aquellos cuyas localizaciones en el espacio estereotaxico noson muy lejanas y cuyo entorno de vecindad es similar al del voxel que se estaestudiando. No se tienen en cuenta todos los atlas de la biblioteca porque cuantomayor sea el numero de atlas a tener en cuenta, mayor sera la carga computacional,elevando demasiado el tiempo de procesamiento. Debido a esto es necesario buscar elnumero de atlas optimo con el cual se obtenga una buena relacion precision-tiempode ejecucion.

Al final del artıculo se realiza una comparativa con otros dos metodos de seg-mentacion ya desarrollados. Estos metodos son el metodo basado en la aparieciay el de seleccion de la mejor plantilla. Como se puede observar en la figura 2.11la comparacion muestra que el metodo de segmentacion presentado en el artıculoobtiene mejores resultados que los otros dos.

Page 36: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

14 CAPITULO 2. ESTADO DEL ARTE

Figura 2.11: Comparacion de la segmentacion obtenida por los distintos metodos para el mejorsujeto (arriba), un sujeto medio (centro) y el peor sujeto (abajo). Se muestra la segmentacionmanual (rojo), la segmentacion basada en patches (verde), basada en la mejor plantilla (azul) ybasada en apariencia (amarillo) con sus correspondientes ındices kappa. Se observa que los ındiceskappa mas altos en los tres sujetos se dan en el metodo propuesto basado en patches.

En otro artıculo llamado “A supervised Patch-based approach for human brainlabeling” [6] tambien se presenta un metodo de segmentacion basado en la intensidadde los patches. En este caso, la similitud entre las imagenes se representa en un grafoponderado en funcion del rango de diferencia de intensidad entre el patch de estudioy el de los atlas. En el paper se propone utilizar dos metodos de tipo pointwise,que son aquellos que aportan una estimacion para cada voxel. Estos metodos son elmetodo pair-wise que consiste en realizar un registro de cada uno de los atlas a laimagen de estudio, y posteriormente fusionar los resultados, y el metodo group-wiseque utiliza todos los atlas para aplicar a la imagen de estudio un etiquetado borroso.

Otro metodo propuesto con el que comparan los metodos de pointwise es elmultipoint, que permite obtener una estimacion del etiquetado para todo el patchen vez de unicamente para un solo voxel. De esta manera se consigue obtener variosetiquetados para cada voxel y se utiliza la votacion por mayorıa para fusionarlos. Lavotacion por mayorıa consiste en considerar que todos los atlas tienen el mismo peso,por lo tanto cuando un voxel recibe mas de X votaciones de una region se consideraque dicho voxel pertenece a esa region. En caso de no superarlo se considera comofondo de la imagen.

Ademas,en este artıculo tambien se propone una mejora para el metodo multipointreduciendo el numero de operaciones a realizar y consiguiendo ası reducir el tiempode ejecucion (fast-multipoint).

Page 37: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

2.5. SEGMENTACION DE IMAGENES. 15

Por otro lado, Platero [7] presenta un metodo cuyo objetivo es combinar la in-formacion de una base de atlas para aumentar la fiabilidad de la segmentacion ytambien su velocidad. Este metodo se basa en un procedimiento de fusion de etique-tas basado en patches y en un etiquetado basado en cortes de grafo. Los patches y suponderacion son calculados en funcion de sus medidas de intensidad y su etiquetado.Este metodo esta englobado por cuatro pasos principales.

Primero, es necesario realizar un preprocesado de las imagenes que consiste enllevar a cabo el skull-stripping de estas, es decir, eliminar todas las partes de laimagen que no pertencen a estructuras cerebrales.

Posteriormente, se lleva a cabo la normalizacion de las imagenes llevandolas todasal mismo espacio estereotactico. Durante este paso tambien se define una region deinteres ROI, que es una region mınima que contiene la estructura que se deseaestudiar. Esto permite reducir la informacion menos relevante de la imagen.

Una vez que las imagenes han sido preprocesadas y se han llevado al espacionormalizado mediante transformaciones afines, se realiza un registro no rıgido de losatlas en la ROI de la imagen del paciente normalizada utilizando atlas-warping. Elobjetivo es fusionar estos atlas para calcular el etiquetado. Se consigue utilizando cor-tes de grafo basados en la minimizacion de una funcion de energıa pseudo-booleana.Esta funcion es la siguiente:

E(S) =∑x∈Ω

ψx(S(x); θ1(I,A)) + λ∑x,y∈ε

ψxy(S(x), S(y); θ2(I))

Donde θ1 y θ2 son los parametros del modelo para esta ROI y λ un parametroajustable que determina la compensacion entre los potenciales unarios y a pares. Lospotenciales unarios (ψx) contienen informacion sobre la forma y la apariencia de lasestructuras a segmentar, mientras que los de orden dos (ψxy) generan suavizadocombinando informacion sobre la intensidad y el entorno.

Despues, otro conjunto de atlas es alineado con la ROI de la imagen a segmentaresta vez mendiante transformaciones afines y con ellos se realiza una nueva estima-cion del etiquetado de cada voxel de la imagen de estudio. Este conjunto de atlasse selecciona aplicando la diferencia de suma de cuadrados (SSD) ya que permitecalcular la similitud entre la intensidad de los patches. La fusion de las etiquetas secalcula con un modelo multi-punto definido por la siguiente funcion:

S(x) =

∑NA

i=1

∑y∈Ω ωi(x, y)Si(y)∑NA

i=1

∑y∈Ω ωi(x, y)

Donde NA es el numero de atlas seleccionados, PSi(y) es un patch etiqueta que

pertenece al atlas i, PS(x) es una estimacion de la etiqueta del patch de la imagende estudio y ωi(x,y) es la ponderacion asignada a ese punto en la plantilla i.

Para combinar las estimaciones del etiquetado calculadas sobre este conjunto deatlas se utliza la votacion por mayorıa.

Page 38: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

16 CAPITULO 2. ESTADO DEL ARTE

Finalmente, el ultimo paso consiste en realizar el etiquetado final para llevara cabo la segmentacion combinando las estimaciones de los etiquetados obtenidasen cada uno de los dos conjuntos de atlas seleccionados anteriormente. Mediantela colaboracion entre el metodo de etiquetado basado en patches y la fusion deetiquetas a traves el registro no rıgido de los atlas da lugar a un aumento de laeficiencia computacional y a una mejora de los resultados de segmentacion.

2.6. Patch Match.

El metodo patch match consiste en encontrar similitudes entre los patches dedistintas imagenes. Se utiliza para calcular la correspondencia entre una imagen deun paciente y un conjunto de imagenes o biblioteca de atlas. Esta correspondenciapuede estar basada en distintas caracterısticas como la intensidad, la texturar o laforma de las imagenes.

Uno de los metodos pioneros en este campo fue el presentado por Barnes. Sualgoritmo buscaba la correspondencia entre patches de dos imagenes en 2D. Esdecir, para cada patch de la primera imagen encontaba uno similar en la segunda.A partir de este algoritmo se han llevado a cabo investigaciones y desarrollos parapoder llevarlo a las tres dimensiones y ası utilizarlo en la segmentacion de estructurasanatomicas. Este es el caso del metodo OPAL (Optimized PatchMatch Algorithm),presentado por Giraud [8]. Este metodo consiste en un algoritmo de patchMatchoptimizado para la fusion de etiquetas que ademas, utiliza una biblioteca de plantillaspara llevar a cabo la segmentacion. Este algoritmo se basa principalmente en trespasos, inicializacion restringida, propagacion y busqueda aleatoria.

El paso de la inicializacion restringida consiste en asignar de manera aleatoria acada patch p(xi) = (x,y,z) de la imagen a segmentar un patch p(xj) = ((x’,y’,z’),t)en una de las plantillas de la biblioteca siendo t el subındice de esta plantilla. Pararestringir esta asignacion, se define en la plantilla un area centrada en las coor-denadas (x,y,z) correspondientes al voxel central (x,y,z) del patch de la imagen asegmentar. Es dentro de este area donde se debe encontrar el patch asignado. Conesta restriccion se consigue evitar que el algoritmo encuentre patches similares enterminos de intensidad en puntos muy alejados espacialmente lo que aportarıa erro-res a la segmentacion ya que a pesar de que cada cerebro es distinto sus estructurasse encuentran ubicadas en zonas similares y mas aun despues de haber llevado a ca-bo el registro de las imagenes. Ademas de reducir el error,con esta medida tambiense consigue aumentar la velocidad del algoritmo.

En el paso de propagacion se parte de la idea de que si un patch de la imagen asegmentar p(xi) tiene una buena relacion con un determinado patch de las plantillasp(xj) entonces los patches adyacentes de p(xi) tienen altas probabilidades de coin-cidir con los adyacentes de p(xj). Por ello, en el paso de propagacion el algoritmorealiza la comprobacion de la similitud de los 6 vecinos adyacentes (arriba, abajo,izquierda, derecha, delante y detras). Es decir, por ejemplo, para el caso del patchsuperior a p(xi), lo que hace el algoritmo es ir al patch que se le ha asignado alsuperior en el primer paso y fijarse en el patch que se encuentra debajo de el en

Page 39: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

2.6. PATCH MATCH. 17

Figura 2.12: Esquema del metodo PatchMatch optimizado. CI- Inicializacion restringida, PS- Pro-pagacion, CRS- Busqueda aleatoria restringida.

la plantilla ya que es el correspondiente en posicion a p(xi). En el caso de que estenuevo patch sea mas proximo a p(xi) que el patch asignado en el primer paso (p(xj))entonces p(xj) se descarta y se asigna p(xi) al nuevo patch. Este procedimiento serepite con cada uno de los patches adyacentes. Esto permite que la correspondenciadel patch se mueva entre las plantillas ya que no todos (el central y los adyacentes)se habran asignado a la misma. Ademas, este paso es acelerado ya que al estar lospatches solapados no es necesario comparar todos los voxeles. Se aplica un SSD detal manera que solo se procesan los voxeles no solapados.

Por ultimo, el paso de la busqueda aleatoria restringida consiste en realizar en laplantilla un muestreo en busca de un patch que sea mas parecido al de la imagenque el que se ha seleccionado en el paso anterior. Esta busqueda se realiza dentro dela misma plantilla en un area determinada alrededor del patch seleccionado durantela propagacion. El area de busqueda se va reduciendo hasta que queda en un unicovoxel. En el caso de que haya algun patch cuya diferencia con el de la imagen de

Page 40: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

18 CAPITULO 2. ESTADO DEL ARTE

estudio sea menor, se selecciona este y se descarta el anterior.

Una vez que el metodo OPAL ha concluido y se han obtenido los patches similarespara cada voxel de la imagen a segmentar pasa a ejecutarse un metodo de fusion delas etiquetas. Con este metodo se consigue obtener una estimacion del etiquetadode la imagen a partir de los resultados obtenidos con el metodo OPAL.

Figura 2.13: Conjunto que opera el metodo propuesto. Busqueda de los patches por el metodoPatchMatch, fusion del etiquetado y obtencion de un mapa de estimacion de las etiquetas.

En el metodo OPAL se propone realizar una paralelizacion de los tres pasoshaciendo que multiples threads independientes ejecuten el algoritmo de PatchMatch.Cuando distintos PatchMatch independientes, ejecutados en distintos threads, dan aun voxel el mismo patch se obtiene redundancia. Esta redundancia es posteriormenteutilizada para asignar una ponderacion a las etiquetas durante el proceso de fusion.Estas etiquetas se fusionan segun su relevancia para calcular un mapa de estimacionde la segmentacion final.

Para obtener la segmentacion final y llevar a cabo la ponderacion del metodode fusion solo se tienen en cuenta los k patches mas similares de la biblioteca deplantillas que se han obtenido. La expresion que define la fusion de sus etiquetas esla siguiente:

L(P (xi)) =

∑xj,t∈ki ω(xi, xj,t)l(P (xj,t))∑

xj,t∈ki ω(xi, xj,t)

donde P(xj,t) es el patch asignado en la plantilla t al patch P(xi) de la imagen,ω(xi,xj,t) es la ponderacion asignada y l(P(xj,t)) la etiqueta binaria dada por elexperto en el voxel xj,t. La ponderacion se calcula con la siguiente expresion:

ω(xi, xj,t) = exp(1− ||P (xi)− P (xj,t)||22h(xi)2

)

Por ultimo se agrega el mapa de estimacion para obtener la segmentacion final.El mapa de estimacion se calcula con la siguiente expresion:

Page 41: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

2.6. PATCH MATCH. 19

F =

∑Ni=1F i

N

Gracias a que con este metodo se consigue disminuir en gran proporcion los costesde computacion, se propone llevar a cabo un analisis multiescala, con diferentestamanos de los patches, y multicaracterıstica, fijandose no solo en las intensidadessino tambien en los bordes o en las texturas.

Page 42: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

20 CAPITULO 2. ESTADO DEL ARTE

Page 43: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Capıtulo 3

Recursos utilizados en el analisis yla segmentacion de imagenes MRI

El analisis y segmentacion de imagenes medicas MRI engloba un gran numero deherramientas y materiales necesarios para llevarlos a cabo. Es importante conocerlosy entender su funcionamiento antes de empezar a utilizarlos.

En este capıtulo se presentan los recursos que han sido utilizados para llevar acabo el proyecto y se realiza una descripcion de los mismos explicando, en el caso deque sea necesario, la forma de instalarlos y configurarlos para su utilizacion. Todoslos software utilizados son gratuitos y de codigo abierto.

3.1. FreeSurfer.

FreeSurfer es un software de codigo abierto capaz de procesar y analizar imagenescerebrales de tipo MRI funcional y estructural, PET o de difusion. Permite llevara cabo un gran numero de operaciones sobre las imagenes como por ejemplo skull-stripping, la reconstruccion de estructuras corticales y subcorticales a partir de lainformacion contenida en las MRI, la segmentacion de estas estructuras, ası comosu etiquetado y la medicion de algunas propiedades del cerebro que se analizaranmas adelante.

3.1.1. Instalacion.

Para llevar a cabo la instalacion el primer paso es descargar el programa del enlacehttps://surfer.nmr.mgh.harvard.edu/fswiki/DownloadAndInstall#Download.

El programa corre en Linux por lo que es necesario que este sea nuestro sistemaoperativo o tener una maquina virtual.

Una vez descargado, el programa no requiere de instaladores, sino que basta condescomprimirlo y ponerlo en un directorio fijo como /usr/local. Para descomprimirlo

21

Page 44: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

22CAPITULO 3. RECURSOS UTILIZADOS EN EL ANALISIS Y LA SEGMENTACION DE IMAGENES MRI

es necesario poner en la terminal:

1 tar xzvf freesurfer -Linux -centos4_x86_64 -stable -pub -v5 .1.0. tar.gz

Para ubicarlo en el directorio /usr/local se escribe lo siguiente:

1 sudo mv freesurfer /usr/local

Una vez instalado es necesario obtener el fichero de licencia. Esta se obtienede manera gratuita en el siguiente enlace https://surfer.nmr.mgh.harvard.edu/

registration.html. Es necesario escribir la licencia obtenida en el fichero .licensedel directorio de FreeSurfer. Para ello se escribe lo siguiente en la terminal:

1 sudo gedit /usr/local/freesurfer /. license

Con este comando se abrira el archivo .license con el editor de texto donde po-dremos pegar la licencia.

3.1.2. Configuracion.

Una vez que FreeSurfer ya esta instalado podemos empezar a utilizarlo. Paraello, siempre que queramos iniciarlo debemos escribir antes unas instrucciones deconfiguracion en la terminal que sirven para indicar a la maquina donde esta ubicadoel programa. Estas instrucciones varian dependiendo del tipo de terminal que seeste utilizando. En nuestro caso utilizamos el BASH por lo que debemos escribir lassiguientes instrucciones:

1 export FREESURFER\_HOME =/usr/local/freesurfer

2 source $/usr/local/freesurfer/SetUpFreeSurfer.sh

3 export SUBJECTS\_DIR=<directorioDeTrabajo >

La ultima lınea de instrucciones sirve para definir el directorio de trabajo. Noserıa necesario incluirla en el caso de que se quisiera trabajar en el propio directoriode FreeSurfer.

En el caso de que la terminal sea de tipo TCSH las instrucciones necesarias son:

1 chsh -s /bin/tcsh

2 setenv FREESURFER\_HOME =/usr/local/freesurfer

3 setenv SUBJECTS_DIR <directorioDeTrabajo >/data

4 source $FREESURFER_HOME/SetUpFreeSurfer.sh

Llegados a este punto ya podemos empezar a procesar las imagenes. En el capıtulosiguiente se explican los comandos de este programa utilizados para llevar a cabo elprocesamiento y la segmentacion de las imagenes.

Page 45: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

3.2. FSL. 23

3.2. FSL.

FSL es una biblioteca de software, desarrollado por FMRIB analysis group, parael analisis de imagenes cerebrales MRI (imagenes de resonancia magnetica estruc-turales), fMRI (imagenes de resonancia magnetica funcionales) y DTI(imagenes deresonancia magnetica de difusion). Se compone un gran numero de herramientasestadısticas y de analisis.

Este software se puede utilizar mediante interfaz grafica, la cual es muy intuitivay facil de comprender, o a traves de la terminal de Linux. En nuestro caso hemosdecidido utilizarlo a traves de la terminal ya que permite exprimir al maximo elpotencial de la aplicacion y consume menos recursos de la maquina.

3.2.1. Instalacion.

Para instalar el software de FSL debemos entrar en su pagina oficial https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FslInstallation y pinchar en el enlace don-de pone Download FSL. Tras aceptar los terminos y condiciones de uso y rellenaruna serie de datos que nos solicita la pagina ya se puede empezar a descargar el soft-ware para el sistema operativo que seleccionemos. Como en nuestro caso queremosinstalarlo en Linux debemos ir a la seccion de advanced users donde podemos selec-cionar el sistema operativo y pulsar en Download. Al hacer click aquı, nos llevara a lapagina web de de NeuroDevian. Una vez en ella, seleccionamos Install this packagey siguiendo las instrucciones del instalador terminamos el proceso de instalacion.

Por ultimo, es necesario configurar la terminal para poder utilizar FSL desdeella. Para ello volvemos a la pagina de FSLInstalation y pinchamos en el enlacellamado shell setup guide, en el cual, nos explican los cambios que debemos realizardependiendo del tipo de terminal que utilicemos. Si estamos utilizando el bash, suconfiguracion se guarda en los ficheros .bash profile o .profile por lo que debemosacceder a ellos o crearlos y escribir las siguientes instrucciones:

1 FSLDIR =/usr/local/fsl

2 . $FSLDIR /etc/fslconf/fsl.sh

3 PATH=$FSLDIR /bin:$PATH

4 export FSLDIR PATH

En donde debemos sustituir /usr/local/fsl por el directorio donde tenemos guar-dado el software en nuestro equipo.

En el caso de que estemos utilizando la terminal del tipo TCSH la configuracionse guarda en .tcsh por lo que accedemos a este archivo y escribimos lo siguiente:

1 setenv FSLDIR /usr/local/fsl

2 source $FSLDIR /etc/fslconf/fsl.csh

3 setenv PATH $FSLDIR /bin:$PATH

Igual que en el caso anterior debemos sustituir /usr/local/fsl por el directorio

Page 46: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

24CAPITULO 3. RECURSOS UTILIZADOS EN EL ANALISIS Y LA SEGMENTACION DE IMAGENES MRI

donde tenemos guardado el software en nuestro equipo.

LLegados a este punto ya podemos empezar a utilizar el amplio abanico de herra-mientas que nos ofrece este software. Dependiendo de las operaciones que queramosrealizar sobre las imagenes y del tipo de imagen que estemos estudiando disponemosde un gran numero modulos o paquetes especializados cada uno de ellos en distintosaspectos. En nuestro caso utilizaremos el conjunto de herramientas FLIRT que seespecializa en el registro afın de las imagenes.

3.2.2. FLIRT.

FLIRT es una herramienta perteneciente al software proporcionado por FSL cuyafuncion principal es el registro de imagenes mediante la aplicacion de una matrizde transformacion utilizando transformaciones afines. Tambien ayuda a definir losgrados de libertad para la transformacion, el metodo de interpolacion y a eliminarel problema de los mınimos locales en las funciones de coste [9], para lo cual realizaun suavizado de estas funciones.

En este trabajo se va a utilizar para realizar el registro de las imagenes al espacionormalizado MNI152, el cual tomamos como referencia. Este es un atlas probabilısti-co que surge en el marco del proyecto ICBM [10] para realizar un mapeo estandari-zado del cerebro humano. Para llevarlo a cabo se realizaron resonancias magneticasde calidad elevada a 150 personas adultas sanas [11]. El alto grado de calidad deestas resonancias con respecto a las que se habıan desarrollado previamente en lacreacion de otros atlas aporto un mayor contraste y mejor definicion en la parte altadel cerebro y baja del cerebelo.

Figura 3.1: Atlas probabilıstico MNI152

Al igual que con FreeSurfer, en el proximo capıtulo se explicaran las funciones ylos comandos de esta herramienta que se han utilizado para llevar a cabo el proce-samiento de las imagenes.

Page 47: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

3.3. ANTS 25

3.3. ANTs

Tambien para realizar el registro afın de las imagenes utilizamos ANTs (AdvancedNormalization Tools). Este es un software de codigo abierto que fue originalmentecreado para llevar a cabo el registro de imagenes con un alto o bajo nivel de defor-macion. Desde su creacion ha ido incluyendo mejoras y herramientas que aportanun mejor registro cada vez mas rapido y eficiente y con mayor precision, ademas,tambien se han incluido nuevas funcionalidades como la elaboracion de plantillas, lanormalizacion de modelos de transformacion o la segmentacion de imagenes con osin modelos previos.

Actualmente incluye la version 4 del Insight Toolkit el cual presenta un grannumero de importantes mejoras que hacen que ANTs sea considerado uno de losmejores algoritmos de deformacion no lineal aplicados al registro de imagenes MRIdel cerebro humano [12]. Se han llevado a cabo evaluaciones en las que se comparaANTs con otros softwares de registro de imagenes [13], demostrando importantesdiferencias con otros los metodos de deformacion de neuroimagen en los que tambiense llevan a cabo grandes deformaciones. Algunas de estas mejoras son la capacidadde realizar todo el registro en un unico paso, lo que reduce la complejidad, y laimplementacion del multi-threading en la medida de similitud.

3.3.1. Instalacion.

La instalacion de este software en Linux es facil y rapida, sin embargo, puedensurgir algunos problemas debidos a que requiere tener instalados previamente git,cmake, ccmake y un compilador de c++.

Tras asegurarnos de que estos programas estan instalados en nuestra maquinadebemos introducir las siguientes instrucciones en la terminal:

1 git clone git :// github.com/stnava/ANTs.git

2 mkdir antsbin

3 cd antsbin

4 ccmake ../ ANTs

Despues de esto se abre la interfaz grafica de ccmake, donde debemos pulsar c ydespues g. Tras ello, volvemos a la terminal y escribimos

1 make -j 4

Y esperamos a que se complete la instalacion.

3.3.2. Configuracion.

Antes de empezar a usar el programa desde la terminal debemos indicar al sistemaen que directorio esta ubicado y sobre cual estamos trabajando. Para ello, antes de

Page 48: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

26CAPITULO 3. RECURSOS UTILIZADOS EN EL ANALISIS Y LA SEGMENTACION DE IMAGENES MRI

hacer ninguna llamada a las funciones del programa debemos escribir los siguientescomandos en la terminal:

1 # ANTS

2 export PATH=/home/sliebana/antbin/bin:$PATH

3 export ANTSPATH =/home/sliebana/antbin/bin

Una vez introducidas estas instrucciones ya podemos utilizar el software instalado.

3.4. ADNI

Para llevar a cabo el proyecto es necesario seleccionar una amplia muestra depacientes con sus respectivas imagenes MRI. Sobre estos pacientes se debe haberrealizado un seguimiento periodico tomando imagenes cada cierto tiempo. Ademas,estas imagenes deben haber sido tomadas todas ellas utilizando el mismo tipo demaquina, con las mismas caracterısticas y siguiendo unos estandares comunes atodas ellas. Para ello, es necesario recurrir a una base de datos que reuna todasestas caracterısticas. En nuestro caso hemos seleccionado la aportada por el proyectoADNI, ya que es la mas utilizada en las investigaciones sobre el alzheimer a nivelglobal.

ADNI (Alzheimer’s Disease Neuroimaging Initiative) [14] es una iniciativa creadaen 2003 en Estados Unidos por el Instituto Nacional de Aging, el Instituto Nacio-nal de Imagen Biomedica y Bioingenierıa (NIBIB), la Administracion de Comida yFarmacos (FDA) y companıas farmaceuticas privadas sin animo de lucro. Su prin-cipal objetivo es comprobar si diferentes tipos de pruebas de neuroimagen, biomar-cadores, y evaluaciones clınicas pueden combinarse para medir y estudiar el avancedel Alzheimer en sujetos con distintas fases de desarrollo de la enfermedad y ası,determinar biomarcadores especıficos que permitan detectarla en fases tempranas.

Figura 3.2: Logo de la iniciativa ADNI

Otros de los objetivos principales de ADNI es desarrollar metodos mejoradospara los ensayos clınicos. Esto lo lleva a cabo proporcionando una gran base publicade datos de biomarcadores para su posterior analisis y exploracion. Para ello elproyecto ADNI proporciona un gran numero de imagenes MRI, biomarcadores de

Page 49: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

3.4. ADNI 27

la sangre y del lıquido espinal y ensayos clınicos y neuropsicologicos realizados enpacientes de control, con deterioro cognitivo leve (MCI) y sujetos con la enfermedadde Alzheimer (AD), todos ellos de mas de 50 anos. Ademas, se puede realizar unestudio de la evolucion temporal de los pacientes ya que se aportan MRI tomadasde manera periodica sobre ellos. Esto permite observar la variacion volumetrica delcerebro y las estructuras que lo componen.

Con un gran numero de investigadores trabajando con los mismos datos es posiblecomparar directamente las medidas de las diferentes estructuras cerebrales obteni-das con distintos algoritmos. Sin embargo, para llevar a cabo estas comparaciones esnecesario que las imagenes de los distintos estudios que se quieran comparar tenganuna serie de caracterısticas en comun. Por ello, en ADNI tambien se propone definirunos metodos estandarizados en el proceso de toma de las imagenes y su posterioranalisis y anima a los investigadores a utilizar estos estandares y publicar sus resulta-dos sobre ellos. Estos metodos estandarizados aportan grandes ventajas como son unmayor rigor en los informes, la capacidad de comparar distintas tecnicas utilizadaspara un mismo objetivo y la posibilidad de poder reproducir los metodos que hayanobtenido mejores resultados. Uno de los estandares que presentan las bases de datosde ADNI es el protocolo HarP o HHP que define las estructuras cerebrales incluidascomo parte del hipocampo siguiendo el criterio de expertos que anteriormente se hadesarrollado en el estado del arte.

Figura 3.3: Importancia global de ADNI. Se muestra en azul las regiones donde se investiga si-guiendo los protocolos de ADNI.

El objetivo final de la iniciativa promovida por ADNI es que utilizando los datosque va agrupando se puedan explorar nuevas hipotesis, desarrollar nuevas tecnicasde analisis y ayudar a decidir cuales de estas tecnicas y que biomarcadores son losmas adecuados para las pruebas sobre el alzheimer. Las imagenes aportadas porADNI permiten a los investigadores de todo el mundo aplicar distintas tecnicas yalgoritmos sobre la misma muestra de sujetos, lo cual facilita la comparacion de losresultados obtenidos.

Dentro de ADNI podemos encontrar los subproyectos ADNI-1, ADNI-GO yADNI-2. En ADNI-1 se definen cinco muestras de datos estandarizados que difierenen la duracion del seguimiento realizado sobre los pacientes. Este varıa entre 1, 2 y 3anos. En total se presentan las imagenes MRI de 818 pacientes sobre los cuales ya se

Page 50: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

28CAPITULO 3. RECURSOS UTILIZADOS EN EL ANALISIS Y LA SEGMENTACION DE IMAGENES MRI

han terminado de realizar todas las pruebas periodicas previstas por lo que la basede datos ya esta completa. Por otro lado, ADNI-GO y ADNI-2 continuan tomandoimagenes y coleccionando datos, realizando seguimientos mas largos de los pacien-tes y anadiendo nuevos estudios utilizando maquinas mas potentes para la toma delas imagenes; por ejemplo, en el caso de ADNI-2 se toman unicamente imagenesMRI-3T y se incluye el etiquetado utilizando la tecnica del etiquetado arterial despin.

3.5. MATLAB.

Matlab es un potente programa utilizado para el calculo numerico, analisis dedatos y desarrollo de algoritmos escritos en un lenguaje propio de alto nivel (generaarchivos .m).

En este trabajo es utilizado para escribir los algoritmos que se emplean en elprocesamiento de las imagenes. La idea es realizar dentro de estos algoritmos lasllamadas a los comandos necesarios de otros programas como FreeSurfer, ANTsy FLIRT-FSL de tal manera que no sea necesario introducirlos manualmente enla terminal de Linux, sino que basta con ejecutar el script desde esta. Dentro delscript se utiliza el comando system(), el cual introduce en la terminal una cadenade caracteres ejecutando una sentencia.

3.6. PuTTY.

PuTTY es un cliente de red de codigo abierto que soporta el protocolo SSH(Secure Shell)y que nos permite iniciar una sesion remota en otra maquina.

Es utilizado para controlar un equipo con Linux desde otro con Windows. Simple-mente introduciendo la direccion IP del escritorio de Linux se genera una terminalque actua como si fuera la terminal propia del escritorio remoto de Linux.

Es a traves de este sistema como abrimos el Matlab y ejecutamos los scripts, yaque reduce los recursos utilizados por el equipo para la interfaz grafica permitiendoası dedicar el maximo de ellos al procesamiento de las imagenes.

3.7. FilleZilla.

FileZilla es un software libre que proporciona una interfaz grafica para la visuali-zacion de las carpetas y archivos tanto de la maquina local en la que esta instalado elprograma como de una maquina remota con la que permite conectarse. Ademas, dala posibilidad de transferir archivos entre los distintos equipos utilizando protocoloFTP y SFTP. Tambien permite crear directorios en la maquina remota y visualizaro editar los archivos de esta.

Page 51: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

3.8. BRAINSUITE. 29

Combinandolo con el uso del PuTTY resulta muy util para poder llevar a cabodesde un mismo escritorio todas las operaciones sobre el procesamiento de las image-nes, creacion de directorios para guardar los resultados, edicion de los algoritmosy ejecucion de estos desde la terminal sin necesidad de acceder remotamente a lamaquina de Linux.

3.8. BrainSuite.

Es un software de codigo abierto que ofrece un gran numero de herramientaspara visualizar y llevar a cabo operaciones y analisis sobre imagenes de resonanciamagnetica (MRI) del cerebro humano.

A pesar de las diferentes utilidades que ofrece, en este proyecto unicamente seutiliza para la visualizacion de las imagenes MRI correspondientes.

3.9. CMake.

CMake es un software libre de generacion de codigo. Esta formado por un conjuntode herramientas que permiten contruir, probar y empaquetar el software. Se utilizaprincipalmente para controlar el proceso de compilacion de los archivos fuentes.Permite elegir el entorno de desarrollo que se desea para los archivos generados. Esun software multiplataforma.

3.10. Visual Studio.

Visual Studio es un software que proporciona un entorno de desarrollo integradoel cual soporta distintos tipos de lenguaje: C, C++, Visual Basic, java, etc. En elcaso de este proyecto se utilizara para desarrollar codigo en C++. Este software no esmultiplataforma, solo puede utilizarse y crear aplicaciones para Microsoft Windows.

El uso de este software en este proyecto tiene el objetivo de crear funciones MEXde los codigos desarrollados en Matlab para ası hacer las funciones mas rapidas yeficientes. Mas adelante se explicara esto con mayor detalle.

Page 52: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

30CAPITULO 3. RECURSOS UTILIZADOS EN EL ANALISIS Y LA SEGMENTACION DE IMAGENES MRI

Page 53: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Capıtulo 4

Preprocesado de las imagenes

En este capıtulo se presenta una descripcion de todos los pasos necesarios parapreparar la base de pacientes y procesar sus imagenes desde el proceso de descargade estas de la web de ADNI hasta la obtencion de las imagenes preparadas parallevar a cabo su segmentacion.

4.1. Descarga de las imagenes.

Para llevar a cabo el proyecto es necesario disponer de un importante numerode pacientes con sus respectivas imagenes MRI. Como se comento en el capıtuloanterior, se ha seleccionado la base de datos ofrecida por el proyecto ADNI comofuente de estas imagenes debido a su relevancia en las investigaciones a nivel mundialy a sus protocolos estandarizados.

El primer paso para poder acceder a las imagenes es registrarse. Para ello hay queentrar en la pagina http://adni.loni.usc.edu/data-samples/access-data/. Elregistro consiste en rellenar una serie de formularios sobre el campo en el que seesta trabajando y por que estamos interesados en acceder a su base de datos. Trascompletar los formularios, se recibira en menos de una semana un mail confirmandoel registro.

Una vez completado el registro ya se puede acceder a la base de datos de imagenes.La descarga debe hacerse desde internet explorer ya que google chrome no permitela ejecucion de applets de java. Tras acceder a la parte privada de la pagina web conel correo, hay que dirigirse a la coleccion de imagenes (figura 4.1). En esta seccion semuestra un repositorio de imagenes en una estructura en arbol donde se encuentranlas diferentes listas de pacientes dependiendo de la duracion del tipo de estudiorealizado.

En nuestro caso, para descargar las imagenes que nos interesan debemos accedera la lista ADNI1: Complete 2Yr 1.5T figura (4.2). Al hacer click sobre estalista se mostraran las imagenes de los pacientes clasificadas segun la visita como 1(screening, primera imagen que se ha tomado a cada paciente), 4 (correspondiente a

31

Page 54: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

32 CAPITULO 4. PREPROCESADO DE LAS IMAGENES

las imagenes tomadas pasado el primer ano)y 6 (las realizadas a los dos anos). Salvoalguna excepcion, unicamente es necesario descargar las imagenes de dos anos yaque las anteriores ya habıan sido descargadas previamente. Ademas, nos interesanaquellas cuyo proceso de adquisicion este marcado como SCALED y no SCALED2.

Figura 4.1: Acceso a las imagenes de ADNI.

Figura 4.2: Direcitorio para la seleccion de las imagenes a descargar.

Por cada paciente se descarga la imagen en formato .nii y un fichero XML coninformacion sobre el paciente, como su edad, sexo, su diagnostico, etc. Estos archivosse guardan en una estructura de directorios creada por ADNI que no es la quenos interesa. Para extraer de esta estructura las imagenes y los ficheros XML yguardarlos en los directorios deseados en una estructura mas simple y con masfacil acceso desde Matlab, se utiliza el script de matlab ”getNIIFiles.m”, indicando

Page 55: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

4.2. SKULL-STRIPPING. 33

el directorio donde estan las imagenes descargadas (pathNII) y aquel en el quequeremos guardarlas (pathNIIDest) y de la misma forma se procede con los archivosXML (pathXMLDest).

En total han sido descargadas 479 imagenes correspondientes a la visita realizadaa los dos anos de cada paciente.

4.2. Skull-Stripping.

Ahora que las imagenes ya se encuentran descargadas y ordenadas de la formaen la que nos interesa ya podemos empezar con el procesamiento de estas paraprepararlas para la segmentacion. El primer paso es realizar el skull-stripping.

El skull-stripping es uno de los primeros pasos necesarios para llevar a acabo lasegmentacion. Consiste en eliminar de la imagen el craneo y el resto de estructurasanatomicas que no son pertenecientes al cerebro. Para llevarlo a cabo se utiliza elprograma FreeSurfer que solo esta disponible para los sistemas operativos de Linux yMacOS por lo que es necesario pasar las imagenes a la maquina de Linux utilizandoFileZilla.

Figura 4.3: Imagen sin procesar tras su descarga e imagen tras haber realizado el skull-stripping.

Para realizar el skull-stripping de las imagenes se dispone del script de matlabscriptBrains.m, dentro del cual se realizan las llamadas a las correspondientesfunciones de FreeSurfer. Para que el procesamiento sea lo mas rapido y eficienteposible no se utiliza la interfaz grafica de Matlab en la maquina de Linux. En lugarde eso, se utiliza la consola a traves del PuTTY y desde ahı se lanza el script para quelleve a cabo las tareas programadas sobre las imagenes. A continuacion se explicanlos comandos de FreeSurfer utilizados en este script:

mri_convert: se utiliza para convertir archivos en diferentes formatos. FreeSur-fer trabaja con archivos .mgz por lo que es necesario transformar las imagenesque son .nii. Se utiliza de la siguiente manera:

1 mri_convert -it <in volume > -ot <out volume >

Page 56: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

34 CAPITULO 4. PREPROCESADO DE LAS IMAGENES

Siendo in volume la ruta del archivo de entrada y out volume la del archivotransformado.

recon_all: realiza la reconstruccion cortical de FreeSurfer. Su esquema de usoes el siguiente:

1 recon -all -subjid <datos de entrada > [Directive]

En datos de entrada se pone el nombre del fichero sobre el que se va a operar.Directive se refiere a las diferentes opciones que hay para utilizar este comando,ya que se divide en varios pasos. En este caso se utiliza -autorecon1, que realizala reconstruccion de FreeSurfer hasta el paso numero 5. Estos pasos son Mo-tion Correction and Conform, Non-Uniform intensity normalization, Talairachtransform computation, Intensity Normalization y Skull-Strip.

mri_watershed: es el comando encargado de definir el lımite entre el craneo yel cerebro. En concreto trata de detectar la materia blanca, la materia gris y ellıquido cefalorraquıdeo y eliminar el resto de estructuras que no pertenezca aestas tres. Para utilizarlo se sigue el siguiente esquema:

1 mri_watershed <parametro > <imagen entrada > <imagen salida >

Como parametro es utilizado -less ya que tras llevar a cabo diversas pruebasse ha comprobado que es con el que se obtienen mejores resultados. Final-mente, tras aplicar este comando obtenemos como salida el skull-stripping quebuscamos.

Dado que este proceso llevado a cabo por FreeSurfer requiere de mucho tiempose ha implementado en el script una paralelizacion para que se pueda ejecutar ala vez en distintos procesos el procesamiento de varias imagenes. El numero deimagenes que pueden procesarse a la vez depende de los nucleos de los que dispongala maquina. Para implementar esta paralelizacion se utiliza el comando de Matlabpool, parpool(). Su uso se implementa de la siguiente manera:

1 pool=parpool(<numero de procesos paralelos >)

2 parfor i=1:< numero de imagenes >

3 <instrucciones >

4 end

5 delete(pool)

Las imagenes obtenidas estan en formato .mgz. Para poder abrirlas con la herra-mienta BrainSuite y tambien para ahorrar espacio en el disco es necesario pasarlasa .nii.gz. Para hacerlo se utiliza el script convertMGZ_nii_gz. Este algoritmo estaimplementado de tal manera que pasa a .nii.gz tanto el Skull-Stripping como lasimagenes nativas a partir de las cuales se ha obtenido. Para llevar a cabo la conver-sion se utiliza el comando de FreeSurfer mri_convert que se explico anteriormente.Para realizar la conversion de los dos tipos de imagenes es necesario seguir los si-guientes pasos:

Page 57: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

4.3. REGISTRO AL ESPACIO MNI152. 35

Las imagenes nativas de cada paciente estan guardadas en el archivo rawavg.mgz.Por ello se debe declarar este tipo de archivo con la variable que se desea con-vertir ası como el directorio en el que se quiere guardar la imagen transformada.Tras declarar estas variables se escribe la expresion del comando mri_convert

y se utiliza la funcion system() para que se ejecute la expresion en la terminal.

En el caso de las imagenes del Skull-Stripping el codigo empleado es el mis-mo con la variacion de que el archivo que se debe transformar es el brain-in-rawavg.mgz, por lo que se debe cambiar la declaracion de la variable a trans-formar ası como el directorio de destino.

El pseudocodigo empleado en esta funcion queda de la siguiente manera:

1 function convertMGZ_nii_gz

2 fsl_comand = ’mri_convert ’;

3 name_image = <archivo a transformar >;

4 path = <ruta del directorio donde se quieren guardar los resultados >;

5 list_dir = dir;

6 for i=1: numel(list_dir)

7 if(list_dir(i).isdir && (strcmp(list_dir(i).name ,’.’)==0) && (

strcmp(list_dir(i).name ,’..’)==0) )

8 path_img = strcat(’./’,list_dir(i).name ,’/mri/’);

9 comand = sprintf(’ %s %s %s %s %s.nii.gz’,fsl_comand ,path_img ,

name_image ,path_Out ,list_dir(i).name);

10 disp(comand);

11 system(comand);

12 end

13 end

14 end

A parte de lo que ya se ha comentado sobre la declaracion del directorio de destinoy el archivo de la imagen que se quiere transformar, es necesario comentar que elalgoritmo esta implementado para que no haya que ir ejecutando la transformacionde las imagenes una a una. Para ello se hace uso de la funcion de Matlab dir la cualhace una lista de los archivos que se encuentran en un directorio. El bucle for seencarga de ir pasando por todas las carpetas del esta lista para ejecutar el comandomri_convert en cada una de las imagenes de los pacientes. Posteriormente, paracada una de ellas, se escribe el comando mediante disp(comand) y se ejecuta en laterminal a traves de la instruccion system(comand).

4.3. Registro al espacio MNI152.

Antes de llevar a cabo la segmentacion es necesario realizar el registro de todaslas imagenes a un espacio normalizado. Como se explico en el capıtulo anterior, setoma como referencia el espacio MNI152 ya que es uno de los mas extendidos y asu vez de los mas modernos. Este paso es imprescindible porque la segmentacionllevada a cabo en este proyecto esta basada en la comparacion de las MRI de lospacientes con una biblioteca de atlas y para que la comparacion de los patches delas distintas imagenes tenga sentido es necesario que todas ellas esten en un espacioestereotaxico comun.

Page 58: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

36 CAPITULO 4. PREPROCESADO DE LAS IMAGENES

Figura 4.4: Atlas probabilıstico MNI152

Para realizar el registro de las imagenes es necesario llevar a cabo transformacio-nes afines sobre estas. Para ello utilizamos el script runfsl_flirt_long.m que haceuso del comando flirt de FSL. Para utilizarlo es necesario disponer de una plantillade referencia del espacio al cual queremos realizar el registro afın. En nuestro casose utiliza la plantilla del espacio MNI152.

Al igual que scripts anteriores, el algoritmo runfsl_flirt_long.m esta imple-mentado para realizar el registro de todas las imagenes de una sola vez, sin lanecesidad de ir seleccionando manualmente una a una todas las imagenes, lo cualagiliza el proceso. Al ejecutarlo se genera para cada paciente un archivo .nii.gz, quees la imagen normalizada y otro .m, que son los parametros del registro afın delsujeto. La llamada al comando flirt se realiza de la siguiente manera:

1 flirt ’-in ’ <imagen a registrar > ’-ref ’ <plantilla de referencia del

espacio al que se registra > ’-out ’ <directorio de salida > ’-omat ’ <

matriz de transformacion para el registro >

Figura 4.5: Imagen tras realizar el skull-stripping (izquierda) e imagen tras haber realizado elregistro al espacio MNI152 (derecha).

Page 59: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

4.3. REGISTRO AL ESPACIO MNI152. 37

Una vez que se ha ejecutado este script ya se dispone de todas las imagenespreprocesadas y registradas en el espacio MNI152, por lo tanto, estan preparadaspara llevar a cabo la segmentacion. Como es de suponer, los atlas de la biblioteca quese van a tener en cuenta para la segmentacion de las imagenes tambien se encuentranen este espacio normalizado.

Page 60: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

38 CAPITULO 4. PREPROCESADO DE LAS IMAGENES

Page 61: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Capıtulo 5

Metodos de segmentacion

En este proyecto se ha llevado a cabo el analisis de varios metodos de segmenta-cion. Por un lado, se ha realizado un estudio del metodo de segmentacion longitudinalde imagenes aportado por la propia herramienta FreeSurfer, mientras que por otraparte, se ha llevado a cabo el estudio de un metodo de segmentacion implementadoen Matlab basado en el metodo de PatchMatch y se ha realizado la adaptacion de es-te algoritmo al procesamiento longitudinal. En este capıtulo se exponen los metodosde segmentacion estudiados.

5.1. Segmentacion longitudinal de FreeSurfer.

El primer metodo estudiado para el procesamiento y la segmentacion de las image-nes es el presentado por Reuter [15]. Este metodo esta implementado en la herra-mienta FreeSurfer. Se ha llevado a cabo un estudio de la implementacion realizadapara comprenderla y aplicarla.

Este metodo lleva a cabo un procesamiento longitudinal de las imagenes, es decir,se realiza una evaluacion temporal de un numero arbitrario de muestras temporalesde cada paciente. A partir de las imagenes de un paciente se crea una plantillapropia de cada sujeto mediante el registro simultaneo de todas ellas a una imagenmedia utilizando un metodo robusto y simetrico. Esta plantilla permite aproximarla anatomıa de cada sujeto y se puede utilizar como estimador para la posteriorsegmentacion. Ademas, ayuda a reducir el error a la vez que aporta mayor robustezy sensibilidad al analisis longitudinal ya que al disponer de informacion comun lasvariaciones en los procesos pueden verse reducidas.

A continuacion se explican las diferentes fases de las que consta este metodo queson CROSS, BASE, LONG y registro al espacio MNI152.

39

Page 62: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

40 CAPITULO 5. METODOS DE SEGMENTACION

Figura 5.1: Diagrama de los pasos que componen el procesamiento longitudinal

5.1.1. CROSS.

En primer lugar se realiza un procesamiento independiente de todas las imagenesde cada sujeto. Durante esta etapa se lleva a cabo la segmentacion completa y lareconstruccion superficial de cada una de las imagenes. Parte de la informacionobtenida durante esta fase sera necesaria mas tarde en los siguientes pasos.

Para llevar a cabo la segmentacion se utiliza el comando recon-all de la herra-mienta FreeSurfer implementado en el algoritmo FS_recon_all.m. Este comandose ha empleado en el procesamiento explicado anteriormente para realizar el Skull-Stripping, sin embargo, en ese procedimiento unicamente se llevaban a cabo los 5primeros pasos de los que dispone el comando. En este caso, como se desea obtenerla segmentecacion completa de las imagenes se ejecutan todos pasos que engloba elcomando.

A continuacion se presenta una breve descripcion de cada uno de estos pasos:

Motion Correction: Cuando hay mas de una fuente de volumenes por paciente,este paso intenta reducir los errores provocados por el movimiento del pacienteobteniendo una imagen media de todos los volumenes.

NU Intensity Correction: Se trata de una normalizacion que corrige las no-uniformidades de intensidad de las MRI.

Talairach: Realiza la transformacion afın de la imagen al espacio MNI305.

Normalization: Lleva a cabo una normalizacion de la intensidad de la imagen.

Skull Strip: Elimina el craneo de la imagen.

Page 63: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

5.1. SEGMENTACION LONGITUDINAL DE FREESURFER. 41

EM Registration (GCA): Realiza un registro de la imagen al espacio del atlasGCA (Gaussian Classifier Atlas), el cual se utiliza para la volumetrıa.

Figura 5.2: Atlas GCA

Subcortical Segmentation: Realiza, en 6 pasos, la segmentacion subcortical dela imagen.

Aseg Stats: Tras realizar el registro de la imagen al atlas GCA se asignan lasetiquetas de este a la imagen. Tambien se hacen calculos estadısticos sobre lasestructuras subcorticales segmentadas.

Normalization: vuelve a realizar otra normalizacion de la intensidad pero estavez solo sobre el cerebro.

WM Segmentation: Segmenta la materia blanca del cerebro.

Tessellation: Se crea la superficie orig sobre la que se va a actuar en los siguientespasos. Esta superficie se crea cubriendo los hemisferios de triagulos.

Orig surface smoothing: Se lleva a cabo un suavizado de la superficie orig yaque al estar formada por triangulos quedan muchos picos.

Inflation: Se aumenta la superficie. Este aumento se realiza intentando minimi-zar la distorsion metrica.

QSphere: Es una transformacion esferica de la superficie ampliada.

Automatic topology fixer: Encuentra defectos topologicos y modifica la super-ficie orig para eliminarlos.

Final surfaces: crea una superficie pial y ficheros de grosor y curvatura.

Cortical ribbon mask: crea una mascara de volumen binaria del ribbon cortical.1 si esta en el ribbon, 0 si no lo esta.

Spherical Inflation: infla la superficie original en una esfera a la vez que minimizala distorsion metrica.

Ipsilateral surface registration: Registra la superficie orig sobre un atlas esferico.

Average curvature: Realiza un mapeo de curvatura promedio de cada sujeto deatlas a cada sujeto.

Cortical Parcelation: Asigna un etiquetado a cada localizacion del espacio cor-tical.

Page 64: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

42 CAPITULO 5. METODOS DE SEGMENTACION

Parcellation statistics: Crea una tabla estadıstica de cada estructura parcelada.

Cortical Parcellation mapping to Aseg: mapea las etiquetas corticales obtenidasen la parcelacion cortical al volumen de segmentacion automatica.

Figura 5.3: Diagrama de flujo de los pasos seguidos durante el CROSS

Para llevar a cabo este paso el comando de FreeSurfer debe tener la siguienteestructura:

1 recon -all -s <ruta del archivo > -all

Con -all hacemos que se ejecuten todos los pasos anteriormente mencionados.

En el algoritmo tambien se implementa la conversion del archivo de la imagenque se encuentra en formato .nii a .mgz utilizando el comando mri_convert.

Este proceso lleva a cabo un gran numero de operaciones lo que provoca que re-quiera de una gran capacidad de procesamiento y de mucho tiempo de computacion.Dependiendo de la maquina utilizada puede llevar entre 10 y 20 horas finalizar elprocesamiento de las imagenes de un solo paciente. Esto, sumado al gran numero deimagenes para procesar hace que sea necesario dedicar mucho tiempo hasta conse-guir finalizar el analisis. Para intentar agilizar al maximo posible el proceso se realizauna paralelizacion utilizando la funcion de Matlab pool, parpool(). A continuacionse muestra un esquema del funcionamiento del algoritmo:

Page 65: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

5.1. SEGMENTACION LONGITUDINAL DE FREESURFER. 43

Algoritmo 1 Funcion Recon-all

Entrada: Imagenes de los pacientes.Salida: Segmentacion completa y reconstruccion superficial de las imagenes.

1: para i=1 hasta numero de imagenes hacer2: Conversion de .nii a .mgz3: recon-all -s (archivo) -all4: fin para

Figura 5.4: imagen original (izquierda), imagen tras el procesamiento del CROSS (derecha) eimagen del etiquetado obtenido (abajo).

5.1.2. BASE.

El objetivo de este paso es crear una plantilla para cada paciente a partir detodas las muestras temporales de las que se dispone de cada uno. En el caso deeste proyecto se dispone de la imagen al inicio del estudio (baseline) y de imagenestomadas a los 6 meses, pasado un ano y a los dos anos para la mayorıa de lospacientes.

La plantilla se crea mediante la fusion de todas las imagenes en una imagenmedia que se utiliza para estimar la anatomıa media del sujeto. Por lo tanto, parallevar a cabo el procesamiento de este paso es necesario que el algoritmo conozca losresultados que se obtuvieron en el CROSS.

El proceso para la creacion de la plantilla se puede comenzar a realizar una vezque ya se dispone del archivo norm.mgz de todas las imagenes de un paciente. Estefichero se genera cuando se realiza la normalizacion de intensidad.

Al igual que en el paso del CROSS, para llevar a cabo el BASE se recurre al

Page 66: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

44 CAPITULO 5. METODOS DE SEGMENTACION

comando recon-all -all de FreeSurfer. Esto significa que se ejecutan todos los pasosque se han explicado en el apartado anterior, sin embargo, se anaden algunos quehacen que el proceso tenga en cuenta los resultados del CROSS. Las etapas distintasque se llevan cabo durante este procedimiento son:

Inicializacion de la plantilla con el archivo norm.mgz de todas las imagenes delsujeto y creacion de norm_template.mgz.

Normalizacion de la imagen obtenida.

Eliminacion del craneo mediante Skull-Stripping.

Registro utilizando el archivo creado norm_templete.mgz en lugar de nu.mgzlo que genera talairach.lta.

Normalizacion de la intensidad utilizando norm_template.mgz que ya habıasido normalizado anteriormente.

Para indicar al programa que se trata del paso de creacion de la plantilla delsujeto se escribe -base al ejecutar la sentencia de tal manera que la sentencia quedaescrita de la siguiente forma:

1 recon -all -base -tp <ruta del archivo > -all

Al igual que en el CROSS, para llevar a cabo este paso tambien se realiza unaparalelizacion. No obstante esta etapa es mas rapida.

Este paso se ejecuta a traves del script de Matlab FS_recon_all_base.m Elpseudocodigo de este algoritmo es el siguiente:

Algoritmo 2 Funcion Recon-all-base

Entrada: norm.mgz de todas las imagenes de un paciente.Salida: Plantilla media de cada sujeto.

1: Creacion de una lista para las plantillas.2: para i=1 hasta numero de imagenes hacer3: recon-all -base -tp (archivo) -all4: fin para

Como ya se ha comentado se observa que es necesario haber realizado el CROSSde todas las imagenes e introducir sus resultados en la entrada del algoritmo para quepueda llevarse a cabo este proceso. Una vez generada la plantilla se puede continuarcon el procesamiento avanzando al LONG.

5.1.3. LONG.

Por ultimo, se combinan los resultados obtenidos en la creacion de la plantilla yen el proceso individual del CROSS para llevar a cabo el procesamiento longitudinalde cada muestra temporal.

Page 67: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

5.1. SEGMENTACION LONGITUDINAL DE FREESURFER. 45

Figura 5.5: Imagenes del paciente obtenidas tras el CROSS (arriba) e imagen de la plantilla resul-tante (abajo).

Este paso esta implementado en el script FS_recon_all_long.m. Al igual que elresto de pasos el comando de FreeSurfer necesario para ejecutar el procesamientoes recon-all -all pero en este caso para indicar que lo que queremos realizar es elprocesamiento longitudinal de las imagenes hay que anadir la opcion -long en lasentencia. Por lo tanto la sentencia queda definida de la siguiente manera:

1 recon -all -all -long <ruta de las imagenes > <ruta de las plantillas >

Los pasos que se llevan a cabo durante este proceso son muy similares a los reali-zados durante el CROSS con algunas pequenas variaciones a la hora de seleccionarlos archivos. Estos pasos son:

Copia de orig/cc?.mgz del CROSS.

Correccion del movimiento mapeando 00?.mgz al espacio de la base y creacionde orig.mgz.

Correcion de la intensidad no uniforme.

Copiar talairach.xfm de la BASE.

Normalizacion del volumen original utilizando control.dat del CROSS.

copiar el brainmask.mgz original de la plantilla a la imagen actual y emplearlocomo mascara al T1 para obtener el brainmask definitivo.

Page 68: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

46 CAPITULO 5. METODOS DE SEGMENTACION

Copiar talairach.lta de la BASE.

Inicializar la normalizacion utilizando el aseg.mgz de la base.

Utilizar el talalirach.m3z como inicializacion del registro no lineal.

Registro no lineal inverso.

Eliminacion del cuello.

Registro EM igual que en el CROSS.

Eiquetado CA, el cual consiste en copiar las transformaciones no lineales deCROSS y BASE.

Segunda normalizacion de la intensidad.

Segmentacion de la materia blanca del cerebro.

Creacion de una masa subcortical de superficie original.

Creacion de una superficie pial y de los ficheros de grosor y curvatura.

Suavizacion

Inflado de la superficie original.

Creacion de los Aseg stats.

Inflado esferico que copia ?h.sphere de la plantilla.

Registro ipsilateral.

Curvatura promedio siguiendo el mismo proceso que en el CROSS.

Parcelacion cortical.

Extraccion de estadısticas de la parcelacion cortical.

Creacion de la mascara ribbon de la misma forma que se hizo en el CROSS.

Anadir la parcelacion cortical al Aseg.

Actualizacion de WMparc con los nuevos datos.

Al igual que el los otros dos pasos, este tambien lleva mucho tiempo ejecutarlopor lo que tambien se realiza la paralelizacion del proceso.

Como se indica en el pseudocodigo que se muestra a continuacion, este algoritmorequiere que se le pasen como entradas los resultados que se han obtenido en elprocesamiento del CROSS y del BASE.

La condicion del if se aplica debido a que los CROSS tienen un nombre mayor de15 caracteres mientras que los Base unicamente tienen 10 caracteres. Por lo tantocuando el numero es mayor de 15 hay que realizar la lectura del CROSS.

Llegados a este punto ya se han obtenido los resultados mejorados y mas consis-tentes del procesamiento longitudinal por lo que unicamente nos queda realizar elregistro de estos resultados al espacio MNI152.

Page 69: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

5.1. SEGMENTACION LONGITUDINAL DE FREESURFER. 47

Algoritmo 3 Funcion Recon-all-long

Entrada: Resultados obtenidos del CROSS y del BASE.Salida: Registro y segmentacion longitudinal.

1: para i=1 hasta numero de imagenes hacer2: si nombre del directorio tiene mas de 15 caracteres entonces3: template=strcat(pathSubj,listImg(i).name(1:10));4: recon-all -all -long (ruta de la imagen) template5: fin si6: fin para

Figura 5.6: Imagen obtenida tras el CROSS (izquierda) e Imagen obtenida tras el LONG (Derecha)

Como se puede observar, al utilizar el procesamiento longitudinal que ofrece laherramienta FreeSurfer no es necesario desarrollar ningun metodo de segmentaciona parte para aplicarlo posteriormente ya que es la porpia herramienta la que generala segmentacion de las estructuras cerebrales.

5.1.4. Registro al espacio normalizado.

Como ya se ha explicado en otros apartados, para poder comparar las imagenesy que los resultados obtenidos de todos los procesos esten regidos por unas carac-terısticas similares es necesario que todas se encuentren en un espacio comun. Paraello, despues de realizar el procesamiento longitudinal de la imagenes es necesariollevar a cabo el registro al espacio normalizado MNI152 ya que los resultados deFreeSurfer se encuentran en el espacio MNI305.

En este procedimiento son varios los archivos que se deben procesar por cadaimagen del paciente. Por un lado hay que transformar los archivos brainmask.mgzdel CROSS y del LONG. Para ello se ha decidido emplear el programa ANTs, ya queal realizar la transformacion a traves de el tambien se consigue que la intensidadquede normalizada con valores entre 0 y 255. Ademas, el registro utilizando esteprograma es mas rapido. Para llevar a cabo este proceso se dispone del script deMatlab Native2MNI_ANTs.m.

Page 70: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

48 CAPITULO 5. METODOS DE SEGMENTACION

Algoritmo 4 Funcion Native2MNI-ANTs

Entrada: brainmask.mgz del CROSS o del LONG que se desean registrar al espacio MNI152.Salida: Imagenes .nii.gz registradas en el espacio normalizado.

1: Declaracion de directorios de los archivos de entrada y salida.2: para i=1 hasta numero de imagenes hacer3: conversion del brainmask de .mgz a .nii.gz4: Obtencion de la matriz de transformacion afın necesaria.5: Aplicacion de la matriz de transformacion sobre la imagen.6: fin para

El primer paso que se lleva a cabo es declarar el directorio en el que se encuentranlas imagenes que se desean normalizar y aquel en el que se quieren guardar losarchivos de salida obtenidos. El programa ANTs trabaja con archivos .nii.gz por loque antes de llevar a cabo la transformacion es necesario convertir el brainmask.mgza .nii.gz. Este paso se realiza utilizando el comando de FreeSurfer mri_convert.Tras terminar la conversion ya se puede comenzar el registro con ANTs. El registromediante este programa consta de dos pasos:

En primer lugar es necesario obtener la matriz de transformacion afın que hayque aplicar a la imagen para registrarla al espacio MNI152. Este proceso seejecuta mediante la siguiente sentencia:

1 ANTS 3 -m CC[<plantilla del espacio MNI152 >, <imagen a registrar

>,<peso >, <radio >] -o <path de salida > -i 0

Se utiliza el metodo Cross Correlation CC. El peso y el radio son opciones parallevar a cabo el registro. En nuestro caso se ha elegido el peso=1 y el radio=2.Esta funcion genera un archivo .txt con la matriz de transformacion.

Una vez se ha obtenido la matriz, hay que aplicarla a la imagen para llevara cabo la transformacion. Este proceso se lleva a cabo mediante la siguientefuncion:

1 WarpImageMultiTransform 3 <imagen a registrar > <path de salida

> <archivo .txt con la matriz > -R <plantilla del espacio

MNI152 >

Finalmente tras aplicar este comando se obtienen los archivos .nii.gz de lasimagenes brainmask.mgz registradas en el espacio MNI152.

Es necesario tener una buena organizacion definiendo diferentes directorios desalida del algoritmo ya que ası se agiliza el analisis y el postprocesado. Para ello,conviene separar los resultados, es decir, no mezclar las imagenes registradas delCROSS con el registro de las imagenes del LONG. Ademas, los resultados de losdos procesos son faciles de diferenciar gracias a que en las imagenes del LONG seincluye la extension long en el nombre del archivo.

Por otro lado tambien debemos realizar la conversion a .nii.gz de los archivosaseg.mgz que son aquellos que contienen el etiquetado de las imagenes. Este proceso

Page 71: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

5.1. SEGMENTACION LONGITUDINAL DE FREESURFER. 49

Figura 5.7: Imagen obtenida tras el CROSS (izquierda) e imagen obtenida tras el registro al espacioMNI152 con ANTs (Derecha)

hay que realizarlo tanto para las imagenes del CROSS como para las del LONG. Enun principio esta conversion se llevaba a cabo a traves de FreeSurfer mediante la apli-cacion directa del comando mri_convert utilizando el script convertMGZ_nii_gz.mmodificandolo para que transforme el archivo aseg.mgz de cada imagen, sin embar-go, se ha obserado que para el posterior analisis de los resultados es mejor realizartambien el registro de este etiquetado al espacio normalizado MNI152 mediante laherramienta ANTs ya que en algunas imagenes se producıa la eliminacion del cere-belo. Para ello se realiza el mismo proceso descrito anteriormente para registrar elbrainmask.mgz variando unicamente los directorios de entrada y salida de datos.

Este procedimiento se ha implementado dentro del mismo script de matlab detal manera que se realice a la vez el registro de los aseg.mgz y brainmak.mgz. Por lotanto el esquema del algoritmo queda definido de la siguiente forma:

Algoritmo 5 Funcion Native2MNI-ANTs

Entrada: Directorios de las imagenes del CROSS o del LONG que se desean registrar al espacioMNI152.

Salida: Archivos .nii.gz registrados en el espacio normalizado.1: Declaracion de directorios de los archivos de entrada y salida tanto para las etiquetas como

para las imagenes.2: para i=1 hasta numero de imagenes hacer3: conversion del brainmask y del aseg de .mgz a .nii.gz4: Obtencion de la matriz de transformacion afın necesaria para el brainmask.5: Aplicacion de la matriz de transformacion sobre la imagen brainmask.6: Aplicacion de la matriz de transformacion sobre el etiquetado aseg.7: fin para

En el caso del registro del etiquetado no es necesario volver a obtener la matrizde transformacion ya que para cada imagen se aplica la misma transformacion albrainmask como al aseg.

Page 72: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

50 CAPITULO 5. METODOS DE SEGMENTACION

Este proceso es rapido, sin embargo, para agilizarlo aun mas se ha implementadouna paralelizacion del proceso.

5.2. Segmentacion de las imagenes por el metodo PatchMatch.

Por otro lado se ha llevado a cabo el estudio del metodo de segmentacion PatchMatch. Para ello se ha realizado un analisis de los algoritmos basados en este metodoque habıan sido desarrollados hasta el momento. Posteriormente, tras haber estu-diado los distintos algoritmos, se han modificado para adaptar este metodo al pro-cesamiento longitudinal. Todos los algoritmos, tanto los estudiados como los que sehan desarrollado estan implementados en Matlab.

Para realizar la segmentacion de las imagenes es necesario llevar a cabo el prepro-cesamiento de estas para prepararlas antes de lanzar la ejecucion de los algoritmos.Una vez que las imagenes han sido preprocesadas y registradas en el espacio MNI152puede procederse a la segmentacion del hipocampo. Como ya se ha comentado en elestado del arte, la segmentacion de esta estructura del cerebro es un proceso que seesta sometiendo a una intensa investigacion ya que es una de las areas cerebrales queantes empieza a deteriorarse y con mayor atrofia durante el avance de la enfermedadde Alzheimer. Debido a ello, existe un gran numero de procedimientos y alternativaspara llevarla a cabo.

El metodo Patch-Match consiste en realizar una comparacion de los patches dela imagen a segmentar con los patches de una biblioteca de atlas. A traves de lasmedidas de similitud en la intensidad y en la distancia llevadas a cabo por el algo-ritmo se realiza una ponderacion para la estimacion de las etiquetas que finalmentegenerara la segmentacion de esta estructura. Para elaborar la biblioteca de atlas seha recurrido a los atlas del protocolo HarP ya que es el protocolo que se sigue enlos estudios llevados a cabo con las bases de datos de ADNI.

Para desarrollar este procedimiento de segmentacion se dispone de un conjuntode algoritmos programados en Matlab los cuales se van a explicar a continuacion.

En primer lugar disponemos del script llamado demo_patch_match.m. En estescript simplemente se procede a realizar la carga de los paths donde se encuentranlas imagenes y los recursos necesarios, como el resto de scripts o el conjunto de atlas,y tambien se realiza la llamada a la funcion getLF_PATCH_MAT. El esquema de lafuncion es el siguiente:

Algoritmo 6 Funcion getLF-PATCH-MAT

Entrada: Base de datos de las imagenes a segmentar y metodo de segmentacion a aplicar.Salida: dice_train,t_cpu,vol,SR,LSR_R,LSR_L.

1: Carga de los paths donde se encuentran scripts necesarios.2: Determinacion del numero de atlas a registrar.3: Carga de atlas y directorio de imagenes segmentadas.4: LLamada del metodo seleccionado en la entrada.5: Asignacion de valores a las salidas.

Page 73: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

5.2. SEGMENTACION DE LAS IMAGENES POR EL METODO PATCH MATCH. 51

Como se puede observar esta funcion consta de dos entradas. La primera de ellashace referencia a la base de datos de las imagenes que se quieren segmentar y lasegunda es un numero del 1 al 7 con el que elegimos el metodo de segmentacion quequeremos llevar a cabo. En nuestro caso el numero correspondiente al Patch Matches el 6. El resto de metodos implementados son Majority Voting, Simultaneous Truthand Performance Level Estimation (STAPLE), Weighted Voting y DiscriminativeSegmentation

Las salidas que devuelve la funcion son algunos datos que pueden servir de interespara su posterior estudio:

dice_train: es un ındice estadıstico que se utiliza para calcular la relacion desimilitud entre dos muestras. Se puede definir como el solapamiento entre dosestructuras. En este caso muestra la similitud entre el conjunto de atlas y laimagen segmentada.

t_cpu: es el tiempo empleado para ejecutar la funcion.

vol: muestra el volumen de los elementos de la segmentacion.

SR: (shapeRoughness), muestra la rugosidad de la estructura segmentada. Juntoal volumen, este es un dato importante a la hora de realizar un diagnostico dela enfermedad.

LSR_R, LSR_L: Son las votaciones de la rugosidad obtenidas tanto para el hi-pocampo izquierdo (L) como para el derecho (R).

Dentro de la funcion getLF_PATCH_MAT se llevan a cabo varias tareas. En primerlugar se determina el numero de atlas que se van a utilizar para la segmentacion de lasimagenes. En el caso del Patch-Match se seleccionaran 15. Para los unicos metodosque este numero varıa son los de Majority Voting y STAPLE que se seleccionanunicamente 5. La eleccion de un numero determinado de atlas se realiza buscandola maxima eficiencia del algoritmo. Hay que tener en cuenta que cuanto mayorsea el numero de atlas empleado mas precisa sera la segmentacion, sin embargo, alaumentar el numero de atlas tambien aumenta el tiempo de procesamiento. Por ello,es necesario buscar un equilibrio que optimice al maximo ambos valores.

Posteriormente, se define el directorio donde se encuentran las imagenes a seg-mentar y se carga aquel en el que estan ubicados los atlas. Al cargar este ultimose definen tambien las regiones de interes (ROIs) de cada uno de los hipocampos(izquierdo y derecho). A continuacion, se realiza la llamada al metodo deseado pa-ra proceder a la segmentacion de las imagenes. Esta llamada se hace mediante unif que depende del numero que se introduzca en la entrada. Para llevar a cabo lasegmentacion por el metodo Patch-Match se llama a la funcion patchLabeling_PM

que se explica a continuacion.

Evidentemente, esta funcion requiere como entrada que introduzcamos la imagenque deseamos segmentar. En vez de introducir la imagen directamente, introducimosla region de interes (ROI) que hemos obtenido anteriormente de tal manera que seconsigue reducir el area a procesar. En cuanto a los 15 atlas seleccionados previa-mente, necesita conocer cuales son estos atlas y tambien necesita que se le pase como

Page 74: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

52 CAPITULO 5. METODOS DE SEGMENTACION

Algoritmo 7 Funcion patchLabeling-PM

Entrada: Imagen a segmentar, lista de atlas registrados en la imagen a segmentar, etiquetadode la imagen a segmentar utilizando registros no rıgido, imagen y etiqueta de los atlas en elespacio objetivo mediante transformacion afın y el espaciado.

Salida: Imagen segmentada.1: Declaracion de parametros de los patches.2: Definicion de las mascaras de las ROIs.3: Llamada a la funcion getPM_Proposed.4: Obtencion del etiquetado medio.5: Asignacion de las salidas.

argumento las imagenes y el etiquetado de estos atlas una vez que se han llevado alespacio de la imagen a segmentar mediante transformaciones afines. Tambien, se lepasa como argumento el etiquetado de las imagenes que se ha obtenido realizandoel registro no rıgido mediante la tecnica atlas warping (deformacion de atlas) y elespaciado de los voxeles de las imagenes que en nuestro caso es [1;1;1].

Al ejecutar esta funcion se comienza definiendo el tamano de los patches que sevan a analizar. En concreto en este algoritmo se definen dos tamanos para obtenerdos etiquetados diferentes y realizar la media de ellos. Los tamanos de los patchesson de 3x3x3 y de 5x5x5 voxeles. Tambien se especifica el numero de busquedas quese van a llevar a cabo para cada patch y la cantidad de atlas que se van a tener encuenta tras realizar una primera medida de similitud con la imagen. Con el numerode busquedas se refiere a que para cada patch de la imagen que se quiere segmentar seva a realizar la busqueda de patches similares en los atlas un determinado numero deveces. Posteriormente, el resultado de todas las busquedas se fusiona obteniendo eletiquetado final. En cuanto a la cantidad de atlas definida, sera sobre los n primerosatlas mas parecidos sobre aquellos sobre los que se llevara a cabo la busqueda de lospatches.

Posteriormente, se calcula la mascara de inicializacion de la ROI, lo que permitereducir aun mas el espacio procesado y con ello el tiempo de computacion empleado.Se hace el calculo de los n primeros atlas mas similares a la imagen que se pretendesegmentar siendo n el valor definido anteriormente y se realiza la llamada a la funciongetPM_Proposed la cual devuelve como salida el etiquetado de la segmentacion final.Esta funcion es llamada dos veces, una para cada uno de los tamanos de patch quese ha definido.

A esta nueva funcion, getPM_Proposed, se le introducen como argumento losdatos que se han ido obteniendo durante la ejecucion de patchLabeling_PM, esdecir, el tamano de los patches, la imagen a segmentar junto con la mascara deinicializacion, el etiquetado del registro no rıgido, los atlas sobre los que se va arealizar la busqueda de los patches y el numero de veces que se va a realizar labusqueda de patches similares en los atlas para cada patch de la imagen que sequiere segmentar.

El proceso que lleva a cabo getPM_Proposed consiste en realizar la llamada a lafuncion que ejecuta las busquedas del numero de patches que se ha definido en suentrada. Esta funcion se denomina PatchMatch3DAtlases_mask_InitSegm y es laque finalmente se encarga de realizar el proceso de comparacion de los patches en

Page 75: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

5.2. SEGMENTACION DE LAS IMAGENES POR EL METODO PATCH MATCH. 53

funcion de su distancia y de su intensidad. Esta llamada la realiza por cada patchun numero de veces igual al numero de patches similares que se quiere encontraren los atlas para cada patch de la imagen a segmentar. El calculo de las diferenciasde intensidad y distancia entre los patches se realiza siguiendo los tres pasos delprocedimiento descrito en el apartado Patch-Match del Estado del arte, que son ini-cializacion restringida, propagacion y busqueda aleatoria. Como ya se ha comentado,el metodo de Patch Match se fundamenta en estos tres pasos y la posterior fusionde los etiquetados obtenidos. Una vez se ha realizado esta busqueda, otra vez en lafuncion getPM_Proposed, se ejecuta una votacion de los resultados adquiridos enPatchMatch3DAtlases_mask_InitSegm y, teniendo en cuenta la distancia espacialde los patches y la diferencia de intensidad entre ellos, se realiza un estimacion delos mejores patches encontrados en los atlas para cada patch de la imagen objetivo.El resultado de esta estimacion genera finalmente la obtencion del etiquetado dela segmentacion de la imagen. A continuacion se muestra el pseudocodigo de estafuncion:

Algoritmo 8 Funcion getPM-Proposed

Entrada: Imagen a segmentar, etiquetado de la imagen a segmentar utilizando registros no rıgido,mascara de la ROI, atlas sobre los que se realiza la busqeda, tamano del patch, numero depatches que se quieren buscar por cada patch de la imagen.

Salida: Etiquetado de la segmentacion final.1: para i=1 hasta n patches similares a un patch de la imagen hacer2: PatchMatch3DAtlases_mask_InitSegm

3: fin para4: Estimacion del etiquetado segun los patches obtenidos

Una vez obtenida la fusion del etiquetado y con ello la segmentacion de la ima-gen, de vuelta en el script de la funcion getLF_PATCH_MAT se pueden obtener losvalores de los ındices de rugosidad, el volumen y el dice_train. Estos datos sonimportantes para poder analizar el funcionamiento del algoritmo y la calidad de lasegmentacion y ası poder comparar sus resultados con los obtenidos siguiendo otrosmetodos distintos. Ademas, estos datos tambien se utilizan en el analisis y el estudiodel avance de la enfermedad en el paciente.

Llegados a este punto podrıa decirse que se ha terminado el proceso de segmen-tacion y ya disponemos de nuestras imagenes segmentadas ası como de los datosrequeridos. Siguiendo este procedimiento, la segmentacion obtenida de cada imagense habra realizado de forma independiente, sin tener en cuenta el resto de image-nes de un mismo paciente ni su evolucion temporal. No obstante, el objetivo deeste proyecto es el desarrollo de un metodo de analisis y estudio longitudinal de lasimagenes de los pacientes. Para ello, tras haber realizado el estudio de estos algorit-mos se ha llevado a cabo un trabajo de evolucion de los algoritmos de Patch-Matchde tal manera que se realice un analisis en 4D, incluyendo la dimension temporal,en lugar del actual analisis en 3D. Este procesamiento mejora la estimacion del areasegmentada y tambien agilizarıa mucho mas el proceso de la deteccion de la atrofiadel hipocampo acelerando ası el diagnostico.

Page 76: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

54 CAPITULO 5. METODOS DE SEGMENTACION

5.2.1. Algoritmo Patch Match 4D.

Actualmente el algoritmo de segmentacion longitudinal mediante el metodo patch-match que se utiliza en realidad no lleva a cabo la segmentacion longitudinal de lasimagenes del paciente, sino que realiza y guarda la segmentacion independiente decada una de ellas sin tener en cuenta el resto de imagenes. Su funcionamiento seexplica a continuacion.

En primer lugar, es necesario pasarle como argumentos las regiones de interes(ROI) de las imagenes del paciente, la segmentacion 4D previa obtenida por elmetodo de corte de grafo y las ROI de los atlas.

Algoritmo 9 Funcion PM-4D

Entrada: ROI de las imagenes a segmentar del paciente, segmentacion 4D previa por metodocorte de grafo y ROI de los atlas.

Salida: Etiquetado de la segmentacion final de las imagenes.1: para i=1 hasta numero de imagenes de un paciente hacer2: PM_3D_4D

3: fin para

Una vez pasados los argumentos se utiliza un bucle for para realizar la llamadapara cada una de las imagenes a la funcion PM_3D_4D que realiza la segmenta-cion independiente de las imagenes de las que disponemos de un paciente. Al seren el fondo una segmentacion independiente, esta funcion es similar a la funcionpatchLabeling_PM explicada anteriormente. A partir de este punto el tratamientode la imagen y la secuencia de llamadas de funciones es el mismo que el explicadoen el apartado anterior de la segmentacion individual de las imagenes. La funcionPM_3D_4D lleva a cabo las siguientes operaciones para cada imagen:

Primero, define los parametros con los que se va a llevar a cabo la segmentacion3D de la imagen, que son: el tamano del patch (psz), el numero de iteracionesque se van a realizar por cada patch (kNN) y el numero de atlas que se van aseleccionar de la biblioteca (numFusion).

Posteriormente, obtiene la region subROI mediante la funcion getSubROI().Esta funcion utiliza la segmentacion que ha sido pasada como argumento parareducir aun mas la region de interes de la imagen. Despues, la define sobre laimagen, sobre la segmentacion previa que se ha pasado como argumento y sobrelos atlas.

Despues, se ordenan los atlas en funcion de su parecido con la imagen utilizan-do la funcion bestPreviouslyMatchingMSD() y se normaliza la intensidad deestos. Se seleccionan los n primeros atlas mas parecidos siendo n el valor delparametro numFusion que se habıa definido en el primer punto.

A continuacion, se llama a la funcion getPM_Proposed() cuyos argumentosson las subROI de la imagen, de la segmentacion previa y de la mascara, losatlas seleccionados, el tamano del patch y el numero de iteraciones que sequieren realizar. Esta funcion devuelve el etiquetado de la imagen que se pre-tendıa segmentar. Para ello habra realizado una votacion y la posterior fusion

Page 77: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

5.2. SEGMENTACION DE LAS IMAGENES POR EL METODO PATCH MATCH. 55

de los etiquetados obtenidos para cada uno de los patches en cada iteracion(kNN). Este paso se realiza mediante el algoritmo votePM3D. La llamada agetPM_Proposed() se realiza dos veces con distinto tamano del patch en cadauna de las llamadas. Para obtener el etiquetado, dentro de getPM_Proposed(),se utiliza la funcion PatchMatch3DAtlases_mask_InitSegm que, como se haexplicado anteriormente, es una adaptacion del metodo de Patch-Match pre-sentado por Giraud para segmentar imagenes.

Finalmente, se realiza una media de la segmentacion obtenida con los distintostamanos de patch para obtener la segmentacion final de la imagen.

La salida del algoritmo PM_4D es la segmentacion obtenida para cada imagen,que se guarda en la variable auto_seg(:,:,:,i) en la que i hace referencia a cadaimagen del paciente que se ha procesado.

Sin embargo, el objetivo de la segmentacion longitudinal es que el algoritmotenga en cuenta el scan siguiente y el anterior de cada imagen para llevar a cabo susegmentacion. Por ello, se han realizado cambios en los algoritmos implicados paraadaptarlos a este objetivo.

En primer lugar, se ha desarrollado el algoritmo PM_4D_prueba en el cual se llevana cabo los pasos descritos en PM_3D_4D con algunas variaciones para adaptarlo a las4D. Para llevar a cabo esta adaptacion ha sido necesario realizar cambios en lasfunciones y en las variables de tal manera que puedan manejar un conjunto deimagenes en lugar de una unica imagen como hacıan anteriormente. Tras definirlos parametros, entre los que se incluye el numero de imagenes que se tiene deun paciente (numScans), se determina la region subROI. Esta subROI ya no es deuna sola imagen sino de todas las del paciente. Para definirla se calcula la subROIindividual de cada imagen y posteriormente se define la subROI global que debeabarcar dentro de sı misma todas las subROI calculadas de cada uno de los scansdel paciente.

Despues, tras fijar la subROI en los atlas, en las imagenes, en la segmentacionprevia y en la mascara de inicializacion, se crea un ındice para cada una de lasimagenes en el cual se ordenan los atlas segun su parecido con ellas utilizandola funcion bestPreviouslyMatchingMSD(). Dado que las imagenes son del mismopaciente y se trabaja en la misma region el orden de similitud de los atlas de cadaındice obtenidos por medio de esta funcion es muy similar. Para obtener una listaunica de atlas se seleccionan todos aquellos que se encuentren entre los numFusionprimeros puestos de los ındices eliminando las repeticiones, es decir, observandolos numFusion primeros atlas mas similares obtenidos en todas las imagenes seselecciona cada uno de los atlas distintos que aparezcan. Este nuevo numero deatlas no sera muy superior a numFusion por lo que el procesamiento requerido nose vera a penas afectado.

A continuacion, al igual que en el algoritmo anterior, se realiza la normalizacionde intensidad de los atlas y se llama a la funcion que devuelva la segmentacion delas imagenes. Para ello se ha adaptado la funcion getPM_Proposed desarrollandoel algoritmo getPM_Proposed_4D. En el caso de este algoritmo hay que tener encuenta que los argumentos que se le pasan son todos los scans y sus correspondientes

Page 78: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

56 CAPITULO 5. METODOS DE SEGMENTACION

segmentaciones previas y mascaras de inicializacion. Para que pueda manejar todaesta informacion hay que considerar que ya no se va a trabajar unicamente con lastres dimensiones de una sola imagen sino que se incluye una dimension temporal quehace referencia a cada scan. Por lo tanto, para realizar la adaptacion del algoritmohay que anadir a las variables que lo requieran la dimension correspondiente a cadascan y modificar las funciones y sus llamadas. De la misma manera, tambien serealiza la adaptacion a las 4D del algoritmo votePM3D el cual se ha reemplazado porvotePM4D.

Como ya se ha explicado, la implementacion del metodo Patch Match y lasegmentacion propiamente dicha se lleva a cabo en el algoritmo PatchMatch3D

Atlases_mask_InitSegm. Para realizar la segmentacion longitudinal se ha desarro-llado el algoritmo PatchMatch4DAtlases_mask_InitSegm. Este algoritmo adaptalas funciones del algoritmo anterior teniendo en cuenta que ya no se le va a pasarcomo argumento una sola imagen sino todas las del paciente. Al igual que en losalgoritmos anteriores, tambien es necesario anadir la dimension correspondiente alas variables que ası lo requieran.

En cuanto al funcionamiento del algoritmo, este metodo de segmentacion estacompuesto de tres pasos principales los cuales fueron explicados anteriormente en laseccion Patch Match del estado del arte.

La principal variacion que se introduce en el procesamiento del metodo PatchMatch en el algoritmo de 4D con respecto al de 3D tiene lugar en el segundo paso, elpaso de propagacion. En el algoritmo de 3D, este paso consiste en comparar los seispatches adyacentes al patch central y sus respectivas asignaciones con los patchesde los atlas que se han obtenido en el primer paso. En el caso de que alguno de ellostenga una diferencia con su patch asociado menor que la relacion entre el central y suasociado se asigna al patch central ese nuevo patch que ha resultado ser mas similar.En el caso del algoritmo 4D a parte de la comparacion con los patches adyacentestambien se compara con el patch que se encuentra en las mismas coordenadas de laimagen anterior y la siguiente en el tiempo del paciente. Es decir, para realizar elprocesamiento de propagacion sobre el patch p(xi) de coordenadas (x,y,z,i) siendoi el scan al que corresponde y p(xj) el patch asociado en un atlas, se comprueba silos patches asociados a los patches de coordenadas (x,y,z,i-1) y (x,y,z,i+1) son massimilares que p(xj). De esta manera, si resulta ser mas parecido alguno de estos dospatches con los que se les ha asignado que el patch p(xi) con el suyo, entonces, se leasigna al patch p(xi) el que ha resultado ser mas similar.

Figura 5.8: Visualizacion de la funcionalidad introducida en el paso de propagacion 4D. El patchdel scan 2 de coordenadas (x,y,z,2) y su patch asociado en los atlas se comparan con el mismopatch del scan anterior (x,y,z,1) y siguiente (x,y,z,3) y sus asociados

Page 79: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

5.2. SEGMENTACION DE LAS IMAGENES POR EL METODO PATCH MATCH. 57

En el caso de las imagenes que se encuentran en los extremos, esto es, la primeray la ultima, solo se realiza esta comparacion con una imagen, la siguiente en el casodel primer scan y la anterior en el caso del ultimo.

Una vez se han terminado de implementar los algoritmos ya se puede llevar a cabola segmentacion longitudinal de las imagenes siguiendo el metodo Patch Match, locual era uno de los objetivos principales de este proyecto.

Page 80: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

58 CAPITULO 5. METODOS DE SEGMENTACION

Page 81: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Capıtulo 6

Implementacion de funcionesMEX

Una vez terminada la implementacion de los algoritmos de segmentacion longitu-dinal y comprobado su correcto funcionamiento hay que plantearse la optimizacionde estos algoritmos. Una posibilidad para conseguir esta optimizacion es la creacionde una funcion MEX. En este capıtulo se desarrollan los conceptos asociados a estasfunciones y se explican los pasos seguidos para su desarrollo.

6.1. Funciones MEX.

Las funciones MEX son funciones que nos permiten utilizar desde Matlab algo-ritmos escritos en C/C++ o Fortran ya que hacen de interfaz entre los lenguajes. Elhecho de utilizar estas funciones se debe a que el uso de algoritmos implementadosen C/C++ presentan la ventaja de aumentar la velocidad del algoritmo haciendolomas eficiente. Esta caracterıstica es muy a tener en cuenta para los algoritmos desa-rrollados en este proyecto ya que el procesamiento de las imagenes conlleva muchotiempo de computacion e interesa poder reducir estos tiempos lo maximo posible.

Estructura y creacion de una funcion MEX.

Para crear el archivo .mexw64 o .mexw32, que es el correspondiente a la funcionMEX que se llama desde Matlab, es necesario compilar el codigo en el compilador deC++. En este proyecto se ha utilizado Visual Studio 2008. Este codigo debe contenerla funcion que se quiere optimizar escrita en C/C++ y la correspondiente interfazentre Matlab y C++, es decir, la funcion MEX. Es necesario incluir en el codigo lallamada a una librerıa especıfica de las funciones MEX: ”mex.h”. La estructura dela funcion MEX es la que se muestra a continuacion.

59

Page 82: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

60 CAPITULO 6. IMPLEMENTACION DE FUNCIONES MEX

Algoritmo 10 Interfaz de la funcion MEX

Entrada: int nlhs, mxAray *plhs[], int nrhs, const mxArray *prhs[]Salida: void

1: Declaracion de variables a las que se le asignan los elementos de prhs[].2: Declaracion de variables que son asignadas a plhs[].3: Llamada a la funcion implementada.

Como Matlab solo trabaja con objetos de tipo mxArray es necesario que tantola entrada como la salida de la mexFunction sean de este tipo. Los argumentos quese introducen en la funcion MEX son los siguientes:

prhs: es un vector de punteros a los valores de los argumentos de entrada de lafuncion introducidos en Matlab.

nrhs: es el numero de argumentos que se pasan a la funcion.

plhs: es un vector de punteros a los valores de los argumentos de salida en lallamada de Matlab.

nlhs: es el numero de argumentos de salida.

Como se muestra en el pseudocodigo, dentro la mexFunction hay que realizar laasignacion de los valores que apunta prhs[] a variables de C++ y de la misma formahay que configurar las salidas con los valores que apunta plhs[]. Posteriormente,tanto las variables asignadas a las entradas como las de las salidas, seran pasadascomo argumento a la funcion implementada que se desea optimizar. Esta funcion esllamada al final de la mexFunction.

Una vez que las mexFunction y la funcion a optimizar han sido programadas enC++, el siguiente paso es crear el proyecto para compilarlo y generar el archivo.mexw64. Este archivo habra que llevarlo posteriormente al directorio de Matlab enel que se este trabajando para poder utilizar la funcion MEX.

Para poder generar y compilar las funciones MEX se utiliza el programa CMa-ke junto con el compilador Visual Studio 2008. Los pasos a seguir para generar ycompilar el proyecto son los siguientes:

En primer lugar, es necesario crear el archivo CMakeLists.txt. En este ar-chivo se escriben los comandos utilizados por CMake para saber que versionde Matlab se esta utilizando, cuales son las librerıas que se van a necesitar,los archivos .cpp y .h que componen los fuentes y distintas caracterısticas delproyecto.

Una vez que se ha terminado de implementar los codigos fuente y el archivoCMakeLists.txt es necesario juntarlos todos en el mismo directorio.

Desde la interfaz grafica de CMake hay que definir el directorio en el que seencuentran los codigos fuentes y el directorio en el que se desea guardar losarchivos binarios una vez generado el proyecto.

Page 83: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

6.1. FUNCIONES MEX. 61

Figura 6.1: Interfaz grafica de CMake. Aparece resaltado en un recuadro rojo arriba el lugar dondeseleccionar los directorios de los archivos fuente y los binarios. Abajo a la izquierda las opcionesde configurar y generar el proyecto.

Cuando los directorios ya estan definidos se selecciona el boton Configure. Estopermite configurar las caracterısticas del proyecto ası como el compilador quese va a utilizar.

Finalmente, una vez que se han configurado las caracterısticas del proyecto yase puede generar en Generate. En la carpeta que se definio para los binariosapareceran los archivos correspondientes al proyecto por lo que ya se puedeabrir el proyecto en Visual Studio y compilar.

Para compilar el proyecto y generar la funcion MEX basta con seleccionar laopcion de compilacion Release y compilar.

Una vez que se ha generado la funcion MEX basta con llevarla al directorio detrabajo de Matlab y hacer la correspondiente llamada desde este.

Existe la posibilidad de depurar la mexFunction durante la ejecucion de esta,lo cual es muy util para detectar posibles errores de ejecucion. Para ello, hay quecompilar el proyecto en modo Debug y llevarse al directorio de trabajo de Matlabtanto la funcion MEX como el archivo .pdb. Despues, en Visual Studio, hay queasociar Matlab al proceso y colocar los puntos de interrupcion deseados. Una vezhecho esto ya se puede ejecutar la funcion MEX desde Matlab y en los puntos deinterrupcion saltara la interfaz del Visual para depurarla.

Page 84: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

62 CAPITULO 6. IMPLEMENTACION DE FUNCIONES MEX

6.2. Adaptacion del algoritmo de Patch Match a una fun-cion MEX.

Como ya se ha comentado al principio del capıtulo, una vez desarrollado el al-goritmo en Matlab y comprobado su correcto funcionamiento resulta interesanteintentar optimizarlo ya que el procesamiento de imagenes consume mucho tiempode computacion.

Para poder utilizar una funcion MEX es necesario traducir el algoritmo de Matlaba C++ para elaborar en C++ una funcion que realice lo mismo que la implementadaanteriormente en Matlab. La idea inicial era realizar una funcion que englobaratotalmente el algoritmo PatchMatch4DAtlases_mask_InitSegm. Sin embargo, laimplementacion de este algoritmo en C++ ha resultado ser mas complicada de loque se pensaba en un principio. Esto es debido a que en el algoritmo se utilizanfunciones propias de Matlab que no estan implementadas en las librerıas de C++.Para solventar este incoveniente se ha decidido realizar la implementacion de losfragmentos de este algoritmo correspondientes a los distintos pasos que componenel metodo Patch Match.

6.2.1. Manejo de imagenes multidimensionales.

Otro de los inconvenientes a los que hay que hacer frente es al manejo de lasimagenes. Las imagenes se definen como matrices. Al ser un algoritmo de proce-samiento longitudinal en 4D nos encontramos con que hay que manejar matricesde tres, cuatro y hasta cinco dimensiones. Las matrices de 5D corresponden a lasvariables offsets y NNF. Offsets posee las tres dimensiones espaciales, la correspon-diente al numero de imagen y una quinta dimension en la que guarda los calculoshechos sobre las diferencias calculadas entre los patches. NNF, al igual que offsets,esta compuesta por las dimensiones espaciales, temporal y una quinta dimension deseleccion.

En Matlab es bastante facil e intuitivo manejar matrices y realizar operacionessobre ellas y sobre sus componentes, sean de la dimension que sean, sin embargo,en C++ es algo mas complejo. Antes de empezar a manejar las imagenes se ha lle-vado a cabo el estudio de un algoritmo de suavizado de Gauss de imagenes. En estealgoritmo, llamado imgaussian, se procesan imagenes de una, dos y tres dimensio-nes. Se ha utilizado a modo de ejemplo y con el objetivo de aprender a manejarlas imagenes de manera correcta. Ademas, el estudio de este algoritmo tambien haservido de ejemplo de realizacion de una funcion MEX.

Tambien, para intentar facilitar en C++ el manejo de las matrices y el acceso a susdatos se han creado dos plantillas: Imagen4D.h e Imagen5D.h. En estas plantillas,a parte de sus constructores, se han implementado las siguientes funciones:

SetPixel: Esta funcion se utiliza para asignar un valor a un elemento deter-minado de la matriz. Hay que pasarle como argumentos las coordenadas delelemento y el valor que se le quiere asignar.

Page 85: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

6.2. ADAPTACION DEL ALGORITMO DE PATCH MATCH A UNA FUNCION MEX. 63

GetPixel: Devuelve el valor del elemento de la matriz ubicado en las coorde-nadas que le son pasadas como argumento.

GetPr: Devuelve un puntero al primer elemento de la imagen cuya coordenadatemporal se pasa como argumento.

FillFromVector: Esta funcion se utiliza para dar a los elementos de una matrizlos valores de un vector que es pasado como argumento. Va rellenando de formaordenada las distintas posiciones de la matriz.

FillRegionFromVector: Al igual que la funcion anterior, da a los elementosde la matriz los valores contenidos en un vector, sin embargo, en este caso noasigna valores a toda la matriz sino solo a los elementos que se encuentran entredeterminadas coordenadas que son pasadas com argumento.

Initialize: Inicializa todos los elementos de la matriz con un determinado valorque es pasado como argumento.

getDim: Devuelve la dimension que se desea conocer.

Delete: Permite borrar una matriz.

Tambien se ha empleado una plantilla que ya habıa sido creada previamente parael manejo de imagenes de 3 dimensiones, Imagen3D.h.

Estudio de imgaussian.

El primer paso para empezar a trabajar con las imagenes es crear un objetode tipo imagen al cual se le vayan a asignar los valores de la imagen de entradapasada a la funcion MEX como argumento. Para ello hay que definir los valores desus dimensiones, es decir, numero de filas, columnas, rodajas, etc. Posteriormentese debe llamar al constructor definiendo el tipo de datos que componen la matriz(en este caso double) y pasandole estas dimensiones. Despues, haciendo uso de lafuncion Initialize() se inicializan todos los elementos de esta nueva imagen a cero:

Algoritmo 11 Creacion del objeto imagen

1: Definicion de las dimensiones: nrow, ncol, nslice;2: llamada al constructor: Imagen3D imagen(nrow, ncol, nslice);3: Inicializacion de los elementos de imagen a cero: imagen.initialize(0);

El motivo por el cual no se puede trabajar con la imagen original es porqueen la mexFunction se transforma en un vector. Por lo tanto, una vez creado elobjeto imagen hay que asignar a los elementos de su matriz los mismos valores quecomponen la imagen que hemos pasado como argumento al codigo. Para realizaresta asignacion se hace uso de la funcion SetPixel() accediendo a cada coordenadade la matriz:

Page 86: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

64 CAPITULO 6. IMPLEMENTACION DE FUNCIONES MEX

Algoritmo 12 Algoritmo 1 para asignar los valores correspondientes a imagen

1: l=0;2: para k=0 hasta nslices hacer3: para j=0 hasta ncol hacer4: para i=0 hasta nrow hacer5: Asignacion a imagen de los valores de ImEntrada: imagen.SetPixel(i,j,k,ImEntrada[l]);6: l++;7: fin para8: fin para9: fin para

Otra opcion mas simple para hacer esta asignacion de los valores de los elementosde la imagen es mediante el uso de la funcion FillFromVector(). En esta funcion sepasa como argumento el vector de ImEntrada y ya esta implementada para queacceda a cada elemento de la matriz asignandole el valor correspondiente:

Algoritmo 13 Algoritmo 2 para asignar los valores correspondientes a imagen

1: Llamada de la funcion para completar el objeto imagen: imagen.FillFromVector(ImEntrada);

De esta forma, utilizando uno de estos dos algoritmos, se consigue realizar el pasode vector a matriz, pudiendose ası empezar a trabajar sobre la imagen.

Cuando ya se han realizado las operaciones que fueran necesaria sobre la imagenes necesario volver a pasar la imagen de matriz a vector. Esto se hace para quepueda llevarse a cabo la correspondiente asignacion en la mexFunction y llevarse lacorrespondiente salida a Matlab. Este paso a vector se realiza tambien accediendo deuno en uno y de manera ordenada a todos los elementos de la matriz y mediante lafuncion GetPixel() obtener su valor y asignarselo a la posicion que toque del vector:

Algoritmo 14 Algoritmo para pasar de matriz a vector

1: u=0;2: para k=0 hasta nslices hacer3: para j=0 hasta ncol hacer4: para i=0 hasta nrow hacer5: Asignacion a ImSalida de los valores de imagen: ImSalida[u]=imagen.GetPixel(i,j,k);6: u++;7: fin para8: fin para9: fin para

Finalmente, una vez que se ha realizado la asignacion de la imagen a la salida yno se van a llevar a cabo mas operaciones sobre la matriz solo queda eliminarla paraliberar la memoria. Esto se realiza mediante la llamada a la funcion Delete().

Ejemplo de aplicacion de la plantilla para imagenes de 4D.

Para comprobar el correcto funcionamiento de la plantilla Imagen4D.h se harealizado una demo. Esta demo consiste en aplicar el filtro de Gauss sobre unavariable de cuatro dimensiones que posee un numero determinado de imagenes. Hasido implementada de tal manera que primero aplica el filtro de Gauss a cada una

Page 87: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

6.2. ADAPTACION DEL ALGORITMO DE PATCH MATCH A UNA FUNCION MEX. 65

de las imagenes mediante el comando de Matlab imgaussfilt3. Posteriormente aplicaotra vez el filtro pero en este caso utilizando el codigo desarrollado en C++ a travesde una funcion MEX.

Algoritmo 15 Algoritmo demoImGaussian4D

1: carga de las imagenes en una variable.2: muestra de las imagenes originales mediante la funcion montage.3: aplicacion de imgaussfilt3 y muestra de las imagenes filtradas.4: llamada a la funcion MEX.5: muestra de las imagenes devueltas por la funcion MEX.

En cuanto a la funcion MEX, esta compuesta por la mexFunction, la funcionimgaussian y una funcion para cada una de las posibilidades en cuanto al numerode dimensiones de las imagenes, es decir, para aplicar el filtro a imagenes de una,dos, tres y cuatro dimensiones.

Cuando se realiza la llamada a la funcion MEX desde Matlab se le pasa comoargumento la imagen a la que se quiere aplicar el filtro, el valor del parametro sigmapara realizar el filtro y el valor del parametro siz. Tras realizar las asignacionescorrespondientes de las entradas a variables de C++ dentro de la mexFunction,se llama a la funcion imgaussian. Esta funcion se encarga de llamar al metodocorrespondiente para aplicar el filtro dependiendo del numero de dimensiones de laimagen. En un principio se disponıa de los metodos implementados para imagenesde una, dos y tres dimensiones. Para poder hacer la demo con imagenes de 4D seha anadido imFilter4D.

En la funcion imFilter4D se sigue el procedimiento descrito anteriormente paracrear las imagenes. En primer lugar se definen los parametros necesarios y se llamaal constructor de Imagen4D. Cuando las variables que van a contener las imageneshan sido creadas se realiza el paso de las imagenes de vector a matriz, asignando acada elemento de la matriz el valor correspondiente del vector que ha sido pasadocomo argumento. Una vez que se dispone de las matrices 4D ya se pueden realizarsobre ellas las operaciones correspondientes para aplicar el filtro de Gauss a cada unade las imagenes que componen la matriz, ya que al ser de 4D significa que hay masde una imagen a la que aplicar el filtro. Por ultimo, tras terminar las operacionessobre las matrices y asignar la salida se libera la memoria con la funcion Delete().

Tras ejecutar la demo se observa que las imagenes devueltas por la funcion MEXestan correctamente filtradas, por lo que se deduce que la plantilla creada para lasimagenes de 4D esta correctamente implementada.

6.2.2. Implementacion de la funcion de Patch Match.

Despues de crear las plantillas y estudiar el manejo de las imagenes ya se puedeproceder a implementar el algoritmo de la funcion de Matlab en C++. En primerlugar se ha procedido a realizar la mexFunction para el paso de propagacion. Se hacomenzado por este paso ya que es el que menos funciones propias de Matlab utiliza.El pseudocodigo de esta funcion es el siguiente:

Page 88: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

66 CAPITULO 6. IMPLEMENTACION DE FUNCIONES MEX

Algoritmo 16 mexFunction de propagacion4D

Entrada: Los valores de is-odd, j, ii, jj, kk, ssz, w, beta, offsets, NNF, targetImg-NaN, initSegm-NaN, atlasesIm, atlasesLb

Salida: Los nuevos valores de NNF y offsets1: Definicion de la interfaz: mexFunction.2: llamada desde la mexFunction a la funcion de propagacion.3: Definicion de propagacion4D.

Los datos que se pasan como argumento a la mexFunction son las imagenes, lascoordenandas y los valores necesarios para poder realizar el calculo y la comparacionde las diferencias de intensidad y distancia de los patches tal y como se realiza enel paso de propagacion del algoritmo de Patch Match.

Dentro de la funcion de propagacion el primer paso es crear las imagenes nece-sarias y asignar a sus elemenos los valores correspondientes. Como se ha explicadoanteriormente, esto se lleva a cabo utilizando la funcion FillFromVector ya quelas imagenes que se han pasado como argumento se pasan en forma de vector. Otroelemento a tener en cuenta y que es necesario corregir al comienzo de la implemen-tacion de la funcion es que en C++ los elementos de las matrices y de los vectorescomienzan a contarse en 0 mientras que en Matlab comienza en 1. Por ello, para notener problemas en el acceso a los elementos de las imagenes es necesario restar unaunidad a las coordenadas que se han pasado como argumento.

Una vez que se han definido las matrices que representan las distintas imagenes yse han corregido las coordenadas para adaptarlas al lenguaje de C++, se encuentrael codigo en el cual esta implementado el paso de propagacion. Este codigo realizalas mismas funciones que el implementado en Matlab con las diferencias propias dela traduccion a C++ y del uso de las funciones necesarias de las plantilllas paramanejar las imagenes. Con el codigo ya escrito lo unico que hace falta es compilarpara generar la funcion MEX y empezar a depurarla desde Matlab comprobando sufuncionamiento y corrigiendo posibles errores de ejecucion que puedan aparecer.

Actualmente, se ha desarrollado la implementacion del paso de propagacion enC++ y se esta llevando a cabo su depuracion. Este paso de depuracion aun esta enproceso ya que por el momento el resultado obtenido con la mexFunction no es elesperado. Uno de los problemas surgidos es la variacion de los datos en las matricescuando se realiza el traspaso de las salidas de la funcion de C++ a Matlab. Esteinconveniente se debıa a la perdida de informacion provocada al pasar los datosde double a float. Aunque ha sido resuelto, es necesario continuar comprobando sipuede estar produciendose esta perdida de informacion en otras partes del codigodando lugar a nuevos problemas de ejecucion o a resultados poco coherentes.

Otra dificultad encontrada durante la depuracion del algoritmo ha sido su elevadouso de memoria. Esto es debido a que en cada llamada de la mexFunction se creantodas las imagenes correspondientes dando lugar a un elevado uso de memoria quellegaba a provocar el colapso de la maquina. Para evitar esto se desarrollo la funcionDelete() en las plantillas de las imagenes. De esta manera, de la misma forma queen cada iteracion se crea una variable para cada imagen tambien se destruye estaimagen al final del algoritmo, liberando la memoria anteriormente reservada.

Page 89: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

6.2. ADAPTACION DEL ALGORITMO DE PATCH MATCH A UNA FUNCION MEX. 67

Una vez se haya concluido la fase de depuracion de la funcion y se compruebe sucorrecto funcionamiento, el siguiente paso sera realizar otras funciones MEX paralos otros dos pasos del metodo de segmentacion.

Page 90: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

68 CAPITULO 6. IMPLEMENTACION DE FUNCIONES MEX

Page 91: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Capıtulo 7

Resultados y discusion

En este capıtulo se recogen los resultados obtenidos con los algoritmos desarrolla-dos en Matlab para la segmentacion longitudinal de las imagenes. Ademas, se llevaa cabo una comparacion de estos resultados con la segmentacion independiente lle-vada a cabo por el mismo metodo y con otro metodo de segmentacion longitudinalque ya se habıa desarrollado previamente, la segmentacion basada en cortes en grafolongitudinal.

7.1. Clasificacion de los resultados de segmentacion.

Para comprobar el funcionamiento del algoritmo se ha realizado un proceso declasificacion para el analisis de dos grupos sobre 1386 imagenes. Para llevar a caboesta clasificacion es necesario realizar previamente un primer paso de entrenamientosobre el clasificador. Este entrenamiento se realiza con las caracterısticas extraidasde los marcadores, en este caso el volumen hipocampal (HV).

La clasificacion entre los grupos de diagnostico se ha llevado a cabo entre los prici-pales grupos clınicos que son: los pacientes de control (NC), los sujetos con deteriorocognitivo leve (MCI) y los sujetos con la enfermedad de Alzheimer ya diagnosticada(AD). Se ha realizado la clasificacion por parejas entre todos ellos. Ademas, tambiense ha incluido la clasificacion entre los grupos con deterioro cognitivo estable (sMCI)y deterioro cognitivo conversor (pMCI) y entre los grupos pMCI y AD.

Para realizar la clasificacion entre las parejas de grupos se llevan a cabo 5000iteraciones de un procedimiento de bootstrap. El 75 % de las imagenes procesadas seseleccionan aleatoriamente y se emplean en el entrenamiento del clasificador mientrasque el 25 % restante es utilizado para realizar la clasificacion.

Una vez se han obtenido los valores del volumen hipocampal se calcula, para cadacomparacion entre dos grupos, la curva ROC (Receiver Operating Characteristic).A partir de ella se utiliza el area bajo la curva (AUC) para estimar el valor discri-minativo. Tambien se calculan los valores de sensibilidad (SEN), precision (ACC) yespecificidad (SPE).

69

Page 92: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

70 CAPITULO 7. RESULTADOS Y DISCUSION

A continuacion se muestra una tabla en la que se representan los valores obteni-dos utilizando el volumen hipocampal por el metodo propuesto (PM4D) junto conlos obtenidos utilizando el metodo de cortes en grafo (CG)[16] y la segmentacionindependiente PM3D:

Grupo Metodo SEN ( %) SPE ( %) ACC ( %) AUC ( %)

NC vs MCICG 70.9(70.7, 71.1) 75.5(75.3, 75.7) 72.7(72.5, 72.8) 0.805(0.804, 0.806)

PM3D 72.4(72.2,72.6) 76.6(76.4,76.8) 74.0(73.9,74.2) 0.809(0.808,0.810)PM4D 72.1(71.9,72.3) 76.9(76.6,77.1) 73.9(73.8,74.0) 0.810(0.809,0.811)

NC vs ADCG 81.5(81.3, 81.8) 90.4(90.2, 90.5) 86.7(86.6, 86.9) 0.947(0.946, 0.947)

PM3D 81.5(81.2,81.7) 89.2(89.0,89.3) 86.0(85.9,86.2) 0.945(0.944,0.946)PM4D 83.5(83.3,83.8) 87.8(87.7,88.0) 86.1(85.9,86.2) 0.947(0.946,0.948)

MCI vs ADCG 67.9(67.6, 68.2) 64.8(64.6, 65.0) 65.7(65.6, 65.9) 0.720(0.718, 0.722)

PM3D 65.9(65.6,66.2) 59.6(59.4,59.8) 61.4(61.3,61.6) 0.684(0.682,0.686)PM4D 65.4(65.2,65.7) 58.6(58.4,58.8) 60.6(60.5,60.8) 0.688(0.686,0.689)

sMCI vs pMCICG 55.9(55.7, 56.2) 56.4(56.1, 56.7) 56.2(56.0, 56.3) 0.590(0.588, 0.592)

PM3D 57.6(57.4,57.9) 57.1(56.7,57.4) 57.4(57.2,57.6) 0.588(0.586,0.590)PM4D 56.3(56.0,56.5) 57.5(57.1,57.8) 56.8(56.6,57.0) 0.590(0.588,0.592)

pMCI vs ADCG 64.2(63.9, 64.5) 60.4(60.1, 60.7) 62.1(61.9, 62.3) 0.670(0.668, 0.672)

PM3D 63.5(63.2,63.8) 55.3(55.0,55.6) 58.8(58.7,59.0) 0.647(0.645,0.649)PM4D 63.5(63.2,63.8) 54.8(54.5,55.1) 58.6(58.4,58.8) 0.648(0.646,0.650)

Tabla 7.1: Resultados de clasificacion obtenidos para los tres metodos utilizando el volumen hipo-campal.

Utilizando el volumen hipocampal se ha obtenido una precision de clasificacion(ACC) de un 73.9 % con un intervalo de confianza (73.8,74.8) para los sujetos decontrol y aquellos con deterioro cognitivo leve. En el caso de control frente a pa-cientes con Alzheimer la precision es de un 86.1 %(85.9,86.2). Un 60.6 %(60.5,60.8)para los grupos con deterioro cognitivo y Alzheimer. Para el caso de deterioro cog-nitivo estable y deterioro cognitivo conversor la precision de clasificacion es del56.8 %(56.6,57.0). Y para la clasificacion entre deterioro cognitivo conversor y Alz-heimer el valor es de 58.6 %(58.4,58.8). Teniendo en cuenta esta precision de clasifi-cacion entre los diferentes grupos se observa que la mejor clasificacion se realiza parala distincion entre sujeto de control y paciente con Alzheimer, seguida de controly deterioro cognitivo leve. Por otro lado, en el resto de clasificaciones se obtienenvalores bajos, inferiores al 60 %, por lo tanto no se considera un buen marcador paradiferenciar entre esos grupos.

De estos resultados podemos extraer que el algoritmo esta correctamente imple-mentado y realiza la segmentacion de manera adecuada. Comparando los resultadosde los tres metodos mostrados en la tabla se observa que no existen diferenciassignificativas entre el uso del algoritmo PM3D y PM4D, no obstante el valor discri-minativo es ligeramente mayor en todos los grupos en el metodo longitudinal. Encuanto al metodo de cortes en grafo, los resultados tambien son muy similares entodos los grupos por lo que el uso del metodo de Patch Match longitudinal no ofreceninguna ventaja significativa con respecto al metodo de cortes en grafo.

A pesar de concluir que el metodo desarrollado no supone ninguna ventaja encuanto a la segmentacion frente al de cortes en grafo longitudinal, resultarıa intere-sante continuar investigando este metodo. La idea es intentar optimizarlo a traves

Page 93: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

7.1. CLASIFICACION DE LOS RESULTADOS DE SEGMENTACION. 71

de las funciones MEX y ası comprobar si puede aportar alguna ventaja en terminosde rendimiento, como por ejemplo, en el tiempo de procesamiento.

Page 94: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

72 CAPITULO 7. RESULTADOS Y DISCUSION

Page 95: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Capıtulo 8

Conclusiones

En este ultimo capıtulo del proyecto se presentan las conclusiones a las que se hallegado en el trabajo realizado. Tambien se comentan los posibles desarrollos futurosque se podrıan llevar a cabo siguiendo la lınea de este proyecto.

8.1. Conclusion.

Al margen de las conclusiones relacionadas con el trabajo realizado, es importan-te destacar que una de las principales ideas que se extraen durante la elaboracionde un proyecto de investigacion como el presente es la importancia de conseguir lacohesion de dos campos de la ciencia bien diferenciados como son la medicina y laingenierıa. Durante este proyecto se ha llevado a cabo un proceso de investigacion ylectura de documentacion para poder entender los diferentes ambitos que lo englo-ban. A lo largo de este proceso es facil darse cuenta de que los avances en el campode la medicina y en la comprension de las causas y los efectos de las enfermedadesse agilizan gracias a los metodos y procedimientos desarrollados por los ingenieros.Estos metodos facilitan el estudio de las diferentes estructuras, tanto externas comointernas, del cuerpo humano y la extraccion de datos que posteriormente son apor-tados a los profesionales de la medicina para su estudio. Por lo tanto la fusion y eltrabajo conjunto de estos dos campos resulta muy beneficioso.

En cuanto al proyecto realizado, se puede concluir que se ha alcanzado el ob-jetivo principal de este que se corresponde con el estudio y la elaboracion de unmetodo de segmentacion longitudinal basado en el metodo Patch Match. Ademas,una vez desarrollados los algoritmos necesarios para este metodo, se ha comenzadoa elaborar una funcion MEX con el objetivo de llevar a cabo su optimizacion. Elposterior analisis de los resultados obtenidos por este metodo indican que esta bienimplementado y la segmentacion es correcta, sin embargo, no ofrece ventajas signi-ficativas frente al metodo de segmentacion longitudinal basado en cortes en grafo,dando resultados muy similares.

Por otro lado tambien se ha realizado un estudio de otro metodo de procesamien-to longitudinal ofrecido por la herramienta FreeSurfer. Con este estudio se ha podido

73

Page 96: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

74 CAPITULO 8. CONCLUSIONES

conocer otra forma de procesamiento longitudinal. Este metodo de procesamientoesta basado en la fusion de las distintas imagenes de un paciente para elaborar unaplantilla de estimacion media de su anatomıa. Tambien ha permitido conocer lasdistintas posibilidades que ofrece este programa, ya sea para realizar una segmen-tacion completa de todas las subestructuras corticales o para realizar otro tipo deoperaciones sobre las imagenes.

8.2. Desarrollos futuros.

A pesar de que los resultados presentados no muestran ventajas frente a otrometodo ya implementado resultarıa interesante continuar investigando y trabajandocon este metodo. Algunas de las mejoras y trabajos futuros que pueden llevarse acabo son:

Continuar trabajando en la optimizacion de los algoritmos y el desarrollo de lasfunciones MEX para comprobar si puede ofrecer alguna ventaja computacionalcomo un menor tiempo de procesamiento ya que el procesado de imagenes llevamucho tiempo.

A parte de las paralelizaciones llevadas a cabo en Matlab, otra posible mejorapuede introducirse mediante el uso de la paralelizacion de OpenMP en lasfunciones MEX de C++.

Tambien es interesante comprobar si los resultados de clasificacion mejoranmediante el uso o la combinacion de otros marcadores a parte del volumen hi-pocampal que se puedan obtener por este metodo como la rugosidad superficialdel hipocampo.

El uso de este algoritmo para sumarse a la busqueda y el estudio de biomarca-dores con los que se pueda diagnosticar la enfermedad del alzheimer.

Page 97: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

Bibliografıa

[1] Jose Marıa Segovia de Arana, Francisco Mora Teruel, J. Manuel Martınez Lage,

Miguel Angel Moya Molina. Enfermedades neurodegenerativas. Farmaindus-tria, Serie cientıfica, 2002.

[2] N. Schuff, N. Woerner, L. Boreta, T. Kornfield, L. M. Shaw, J. Q. Trojanowski,P. M. Thompson, C. R. Jack, M. W. Weiner. Mri of hippocampal volume loss inearly alzheimer’s disease in relation to apoe genotype and biomarkers. DiseaseNeuroimaging Initiative, 132(2):1067 – 1077, 2009.

[3] Dra. Rosa Marıa Rodrıguez Fernandez . Marcadores diagnosticos de enfermedaddel alzheimer. 2014.

[4] Giovanni B. Frisonia, b, Clifford R. Jack Jr.c, Martina Bocchettaa, d, CorinnaBauere, Kristian S. Frederiksenf, Yawu Liug, Gregory Preboskec, Tim Swiharth,Melanie Blairi, Enrica Cavedo. The eadc-adni harmonized protocol for manualhippocampal segmentation on magnetic resonance: Evidence of validity. ELSE-VIER, 11(2):111 – 125, 2015.

[5] Pierrick Coupe, Jose V. Manjon, Vladimir Fonov, Jens Pruessner, MontserratRobles, D. Louis Collins. Patch-based segmentation using expert priors: appli-cation to hipocampus and ventricle segmentation.

[6] Francois Rousseau, Piotr A. Habas, and Colin Studholme. A supervised patch-based approach for human brain labeling.

[7] Carlos Platero, M. Carmen Tobar. Combining a patch-based approach with anon-rigid registration-based label fusion method for the hippocampal segmen-tation in alzheimer’s disease. Neuroinformatics, 15(1), 2017.

[8] Remi Giraud, Vinh-Thong Ta, Nicolas Papadakis, Jose V. Manjon f, D. LouisCollins, Pierrick Coupe. An optimized patchmatch for multi-scale and multi-feature label fusion. ELSEVIER, 124:770 – 782, 2015.

[9] Jenkinson, M. Bannister, P. Brady, M. Smith. Improved optimization for therobust and accurate linear registration and motion correction of brain images.Neuroimage, 17(2):825 – 841, 2002.

[10] John C. Mazziotta, Arthur W. Toga, Alan Evans, Peter Fox, Jack Lancaster. Aprobabilistic atlas of the human brain: Theory and rationale for its development.Neuroimage, 2:89 – 101, 1995.

75

Page 98: Segmentacion del hipocampo en imagenes T1-MRI por el m ... · corticales en im agenes de resonancia magn etica (MRI) y se lleva a cabo la imple-mentaci on en Matlab de un m etodo

76 BIBLIOGRAFIA

[11] M. Altaye, S.K. Holland, M. Marko Wilke, C. Gaser. Infant brain probabilitytemplates for mri segmentation and normalization. ELSEVIER, 43, 2008.

[12] Arno Klein, Jesper Andersson, Babak A Ardekani, John Ashburner, BrianAvants, Ming-Chang Chiang, Gary E Christensen, D. Louis Collins, James Gee,Pierre Hellier, Joo Hyun Song, Mark Jenkinson, Claude Lepage, Daniel Ruec-kert, Paul Thompson, Tom Vercauteren, Roger P Woods, J. John Mann, andRamin V Parsey. Evaluation of 14 nonlinear deformation algorithms applied tohuman brain mri registration. Neuroimage, 46(3):786 – 802, 2009.

[13] B. Avants, C. L. Epstein, M. Grossman, and J. C. Gee. Symmetric diffeomorp-hic image registration with cross-correlation: Evaluating automated labeling ofelderly and neurodegenerative brain. Med Image Anal, 12(1):26 – 41, 2008.

[14] Bradley T. Wyman, Danielle J. Harvey, Karen Crawford, Matt A. Bernstein,Owen Carmichael, Patricia E. Cole, Paul K. Crane, Charles DeCarli, Nick C.Fox, Jeffrey L. Gunter, Derek Hill, Ronald J. Killiany, Chahin Pachai, Adam J.Schwarz, Norbert Schuff, Matthew L. Senjem, Joyce Suhy, Paul M. Thompson,Michael Weiner, Clifford R. Jack. Standardization of analysis sets for reportingresults from adni mri data. ELSEVIER, 9:332 – 337, 2013.

[15] Martin Reuter, Nicholas J. Schmansky, H. Diana Rosas, Bruce Fischl. Within-subject template estimation for unbiased longitudinal image analysis. ELSE-VIER, 61:1402 – 1418, 2012.

[16] Carlos Platero, Lin Lin, M. Carmen Tobar. Longitudinal neuroimaging hippo-campal markers for diagnosing alzheimer’s disease. 2017.