Julián Gutiérrez Santos. Traducir el código de MATLAB a C++ Conectar ITK y MATLAB Instalar...
34
Integración de librerías ITK en MATLAB mediante objetos MEX para la segmentación del hígado procedente de imágenes de CT en entornos multiplataforma Julián Gutiérrez Santos Integración de librerías ITK en MATLAB mediante objetos MEX para la segmentación del hígado procedente de imágenes de CT en entornos multiplataforma
Julián Gutiérrez Santos. Traducir el código de MATLAB a C++ Conectar ITK y MATLAB Instalar LiverSegm en Ubuntu 64Bits Instalar LiverSegm en Magerit Conocer
Traducir el cdigo de MATLAB a C++ Conectar ITK y MATLAB
Instalar LiverSegm en Ubuntu 64Bits Instalar LiverSegm en Magerit
Conocer el estado actual de la tcnica GVA-ELAI-UPMPFC0092-2009
2
Diapositiva 3
1. Introduccin 2. Estado de la tcnica 3. LiverSegm en Ubuntu
64Bits 4. ITK desde MATLAB 5. LiverSegm Server C++ 6.
Supercomputacin 7. Conclusiones GVA-ELAI-UPMPFC0092-2009 3
Diapositiva 4
Imagen mdica: Distribucin espacial de una o ms propiedades
fsicas o qumicas dentro del cuerpo humano. Propsitos: Clnicos:
diagnosis Mdicos: anatoma GVA-ELAI-UPMPFC0092-2009 4
Diapositiva 5
Adquisicin imgenes mdicas en 3D TAC RM Tcnicas de segmentacin
Deteccin de fronteras Clasificacin de voxels Atlas deformables
GVA-ELAI-UPMPFC0092-2009 5
Diapositiva 6
TOMOGRAFA AXIAL COMPUTARIZADA (TAC) RESONANCIA MAGNTICA (RM)
Rayos X Radiacin ionizante Algo borrosa Barata Campo magntico No
perjudicial Ntida Cara GVA-ELAI-UPMPFC0092-2009 6
Diapositiva 7
Deteccin de fronteras Una curva o superficie evoluciona hacia
los bordes del objeto sobre la base de un trmino de la imagen y
otro de regularizacin. Clasificacin de Voxels Cada voxel es
clasificado a partir de un modelo de intensidades teniendo en
cuenta la homogeneidad y la geometra relativa del tejido. Atlas
anatmicos Se obtienen unos modelos de los rganos a partir de
imgenes de entrenamiento y se alinean con la imagen de estudio para
obtener la segmentacin. GVA-ELAI-UPMPFC0092-2009 7
Diapositiva 8
Cliente - Servidor Caractersticas Ubuntu 64Bits Ventajas e
inconvenientes CMake KDevelop Instalacin de LiverSegm VTK FLTK ITK
GVA-ELAI-UPMPFC0092-2009 8
Diapositiva 9
CLIENTESERVIDOR Papel activo en la comunicacin (dispositivo
maestro o amo) Espera y recibe las respuestas del servidor Puede
conectarse a varios servidores a la vez Interacta directamente con
los usuarios finales Papel pasivo en la comunicacin (dispositivo
esclavo) Procesa y enva la respuesta Acepta conexiones desde un
gran nmero de clientes No interactan directamente con los usuarios
finales GVA-ELAI-UPMPFC0092-2009 9
Diapositiva 10
VENTAJASINCONVENIENTES Mejor uso de los recursos mquina
(procesador, gpu, etc.) Las transferencias de datos son ms rpidas.
Capacidad de ejecutar mltiples programas de forma eficiente. Para
servidores, alcanza mejor rendimiento que un 32Bits. Baja
compatibilidad con drivers y software. Alto costo para obtener
funcionalidad total con programas de 32Bits. Las alternativas de
software para 64Bits, en muchos casos, ofrecen pauprrimos
resultados. GVA-ELAI-UPMPFC0092-2009 10
Diapositiva 11
CMAKEKDEVELOP Permite gestionar el proceso de construccin de
una aplicacin independientemente del sistema operativo y compilador
elegido CMakeLists.txt Entorno de desarrollo integrado (IDE) para
sistemas Unix Depende del gcc GVA-ELAI-UPMPFC0092-2009 11
Diapositiva 12
Instalar VTK, FLTK e ITK Campos especiales Comprobar que estn
reconocidos todos los parmetros referidos a las libreras en CMake.
VTK_DIR ITK_DIR FLTK_DIR Compilar en KDevelop
GVA-ELAI-UPMPFC0092-2009 12
Diapositiva 13
MATLAB CMakeLists.txt Particularidades en objetos MEX
MexFunction Entrada Salida Depuracin ITK-MEX Windows: Microsoft
Visual Studio 2005 Linux: GDB GVA-ELAI-UPMPFC0092-2009 13
Diapositiva 14
Software matemtico que ofrece un entorno de desarrollo
integrado (IDE) con un lenguaje de programacin propio (lenguaje M)
Lenguaje M: interpretado Lento C/C++: compilado Rpido
GVA-ELAI-UPMPFC0092-2009 14
Diapositiva 15
Archivo de configuracin de CMake Particularidades para objetos
MEX Distinciones entre Sistemas Operativos Win32, Win64, Linux32 y
Linux64 Libreras de MATLAB Windows: libmex, libmx y libeng. Linux:
mex, mx y eng Extensin de las libreras Linux: *.a y *.so Windows:
*.lib y *.dll GVA-ELAI-UPMPFC0092-2009 15 #Include mex.h
Diapositiva 16
Interfaz MATLAB C++ Entrada (prhs) Salida (plhs)
GVA-ELAI-UPMPFC0092-2009 16
Diapositiva 17
Entrada mxGetScalar mxGetPr mxGetDimensions mxArrayToString
Salida Familia mxCreateScalar Familia mxCreateMatrix Familia
mxCreateArray GVA-ELAI-UPMPFC0092-2009 17
Diapositiva 18
Cdigo en MATLAB Fases Clases de ITK utilizadas Clases bsicas
Filtros LiverSegm Server C++ Jerarqua GVA-ELAI-UPMPFC0092-2009
18
Diapositiva 19
EXPANSIN DEL HISTOGRAMAREDUCCIN DE VOLUMEN Normalizacin del
intervalo de valores de la imagen entre cero y uno Cada dimensin de
la imagen es reducida a la mitad GVA-ELAI-UPMPFC0092-2009 19
Diapositiva 20
FILTRADO DE DIFUSIN ANISOTRPICA 3D PARMETROS ESTADSTICOS Filtro
no lineal sin parmetros de control Suavizado de la imagen y de sus
zonas homogneas Parmetros usados en la umbralizacin y el post
procesado mediaGrisLiver: nivel medio de gris del hgado
minSupLiver: nivel mximo de gris en el hgado. minInfLiver: nivel
mnimo de gris en el hgado. mediasCT: nivel medio de gris en cada
zona del histograma. stdCT: desviacin estndar
GVA-ELAI-UPMPFC0092-2009 20
Diapositiva 21
DETECCIN DE BORDESUMBRALIZACIN Detector de bordes de Canny
Dilatacin con mscara 3x3 GVA-ELAI-UPMPFC0092-2009 21 Umbrales
calculados con la media y la desviacin superior e inferior
Diapositiva 22
POST-PROCESADO MORFOLGICOCONTORNO ACTIVO EN 3D Refinamiento del
borde Bsqueda del objeto mayor Evolucin de una superficie sujeta a
las limitaciones de la imagen GVA-ELAI-UPMPFC0092-2009 22
Diapositiva 23
REAJUSTE DE TAMAOPUNTUACIONES Redimensionado al tamao original
Comparacin de la segmentacin manual y la automtica 0-100
GVA-ELAI-UPMPFC0092-2009 23
Supercomputadores Magerit (UPM) Utilidades PuTTY WinSCP XMing
CMake en lnea de comandos Instalacin VTK, FLTK, ITK y LiverSegm
GVA-ELAI-UPMPFC0092-2009 26
Diapositiva 27
Ordenador con capacidades de clculo muy superiores a las del
resto de equipos de la misma poca de fabricacin UPM-CeSViMa Magerit
GVA-ELAI-UPMPFC0092-2009 27
Diapositiva 28
Clster de 1204 nodos BladeCenter 1036 nodos JS20: 2 ncleos,
2.2GHz, 4GB RAM y 40GB disco duro 8.8GFLOPS 168 nodos JS21: 4
ncleos, 2.3GHz, 8GB RAM y 80GB disco duro 9.2GFLOPS Sistema de
archivos GPFS /gpfs/projects/.home/A20C01/user Privado
/gpfs/projects/A20C01001 Compartido /gpfs/scratch/A20C01001/user
Temporal /gpfs/projects/.apps Aplicaciones GVA-ELAI-UPMPFC0092-2009
28
Diapositiva 29
PuTTY Cliente SSH XMing Sistema de ventanas X WinSCP Cliente
SFTP grfico que emplea SSH CMake En lnea de comandos
GVA-ELAI-UPMPFC0092-2009 29
Menor tiempo de ejecucin Mejor resultado Multiplataforma
Integrado en MATLAB Integrado en ClienteServidor
GVA-ELAI-UPMPFC0092-2009 32
Diapositiva 33
Paralelizacin de algoritmos Incluir informacin de los pulmones
Reducir la memoria consumida Integracin del algoritmo en equipos de
imagen mdica Seguimiento semiautomtico de lesiones
GVA-ELAI-UPMPFC0092-2009 33