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

Upload: delfina-socorro

Post on 04-Feb-2015

22 views

Category:

Documents


3 download

TRANSCRIPT

  • Diapositiva 1
  • Julin Gutirrez Santos
  • Diapositiva 2
  • 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
  • Diapositiva 24
  • CLASES BSICASFILTROS Image ImageFileReader ImageRegionIterator Index Matrix Size BinaryThresholdImageFilter CannyEdgeDetectionImageFilter CastImageFilter ConnectedComponentImageFilter ExtractImageFilter ImportImageFilter NotImageFilter OrImageFilter RelabelComponentImageFilter ResampleImageFilter RescaleIntensityImageFilter VotingBinaryHoleFillingImageFilter GVA-ELAI-UPMPFC0092-2009 24
  • Diapositiva 25
  • SegmLiverCT expandirHistoCTreduceVolume3DsolInicialCT procTVPpar psfLiver fusionUmbralizacion deteccionBores postProcesado CA3DHig errorBayes lut4D alineamientoBordes nb3DgPar imresize3D 25
  • Diapositiva 26
  • 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
  • Diapositiva 30
  • Directorios /gpfs/projects/A20C01001/FLTK-1.1.9/bin /gpfs/projects/A20C01001/VTK-5.2.0/bin /gpfs/projects/A20C01001/InsightToolkit- 3.4.0/bin /gpfs/projects/A20C01001/InsightAplications- 3.4.0/bin Campos especiales CMAKE_INSTALL_PREFIX ITK_DIR, VTK_DIR, FLTK_DIR GVA-ELAI-UPMPFC0092-2009 30
  • Diapositiva 31
  • Resultados Posibles mejoras GVA-ELAI-UPMPFC0092-2009 31
  • Diapositiva 32
  • 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
  • Diapositiva 34
  • 34 GVA-ELAI-UPMPFC0092-2009