La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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.

Presentaciones similares


Presentación del tema: "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."— Transcripción de la presentación:

1 Julián Gutiérrez Santos

2 Traducir el código de MATLAB a C++ Conectar ITK y MATLAB Instalar LiverSegm en Ubuntu 64Bits Instalar LiverSegm en Magerit Conocer el estado actual de la técnica GVA-ELAI-UPM®PFC0092-2009 2

3 1. Introducción 2. Estado de la técnica 3. LiverSegm en Ubuntu 64Bits 4. ITK desde MATLAB 5. LiverSegm Server C++ 6. Supercomputación 7. Conclusiones GVA-ELAI-UPM®PFC0092-2009 3

4 Imagen médica: Distribución espacial de una o más propiedades físicas o químicas dentro del cuerpo humano. Propósitos: Clínicos: diagnosis Médicos: anatomía GVA-ELAI-UPM®PFC0092-2009 4

5 Adquisición imágenes médicas en 3D TAC RM Técnicas de segmentación Detección de fronteras Clasificación de voxels Atlas deformables GVA-ELAI-UPM®PFC0092-2009 5

6 TOMOGRAFÍA AXIAL COMPUTARIZADA (TAC) RESONANCIA MAGNÉTICA (RM) Rayos X Radiación ionizante Algo borrosa Barata Campo magnético No perjudicial Nítida Cara GVA-ELAI-UPM®PFC0092-2009 6

7 Detección de fronteras Una curva o superficie evoluciona hacia los bordes del objeto sobre la base de un término de la imagen y otro de regularización. Clasificación de Voxels Cada voxel es clasificado a partir de un modelo de intensidades teniendo en cuenta la homogeneidad y la geometría relativa del tejido. Atlas anatómicos Se obtienen unos modelos de los órganos a partir de imágenes de entrenamiento y se alinean con la imagen de estudio para obtener la segmentación. GVA-ELAI-UPM®PFC0092-2009 7

8 Cliente - Servidor Características Ubuntu 64Bits Ventajas e inconvenientes CMake KDevelop Instalación de LiverSegm VTK FLTK ITK GVA-ELAI-UPM®PFC0092-2009 8

9 CLIENTESERVIDOR Papel activo en la comunicación (dispositivo maestro o amo) Espera y recibe las respuestas del servidor Puede conectarse a varios servidores a la vez Interactúa directamente con los usuarios finales Papel pasivo en la comunicación (dispositivo esclavo) Procesa y envía la respuesta Acepta conexiones desde un gran número de clientes No interactúan directamente con los usuarios finales GVA-ELAI-UPM®PFC0092-2009 9

10 VENTAJASINCONVENIENTES Mejor uso de los recursos máquina (procesador, gpu, etc.) Las transferencias de datos son más rápidas. Capacidad de ejecutar múltiples 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 paupérrimos resultados. GVA-ELAI-UPM®PFC0092-2009 10

11 CMAKEKDEVELOP Permite gestionar el proceso de construcción de una aplicación independientemente del sistema operativo y compilador elegido CMakeLists.txt Entorno de desarrollo integrado (IDE) para sistemas Unix Depende del gcc GVA-ELAI-UPM®PFC0092-2009 11

12 Instalar VTK, FLTK e ITK Campos especiales Comprobar que están reconocidos todos los parámetros referidos a las librerías en CMake. VTK_DIR ITK_DIR FLTK_DIR Compilar en KDevelop GVA-ELAI-UPM®PFC0092-2009 12

13 MATLAB CMakeLists.txt Particularidades en objetos MEX MexFunction Entrada Salida Depuración ITK-MEX Windows: Microsoft Visual Studio 2005 Linux: GDB GVA-ELAI-UPM®PFC0092-2009 13

14 Software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M) Lenguaje M: interpretado Lento C/C++: compilado Rápido GVA-ELAI-UPM®PFC0092-2009 14

15 Archivo de configuración de CMake Particularidades para objetos MEX Distinciones entre Sistemas Operativos Win32, Win64, Linux32 y Linux64 Librerías de MATLAB Windows: libmex, libmx y libeng. Linux: mex, mx y eng Extensión de las librerías Linux: *.a y *.so Windows: *.lib y *.dll GVA-ELAI-UPM®PFC0092-2009 15 #Include mex.h

16 Interfaz MATLAB – C++ Entrada (prhs) Salida (plhs) GVA-ELAI-UPM®PFC0092-2009 16

17 Entrada mxGetScalar mxGetPr mxGetDimensions mxArrayToString Salida Familia mxCreateScalar Familia mxCreateMatrix Familia mxCreateArray GVA-ELAI-UPM®PFC0092-2009 17

18 Código en MATLAB Fases Clases de ITK utilizadas Clases básicas Filtros LiverSegm Server C++ Jerarquía GVA-ELAI-UPM®PFC0092-2009 18

19 EXPANSIÓN DEL HISTOGRAMAREDUCCIÓN DE VOLUMEN Normalización del intervalo de valores de la imagen entre cero y uno Cada dimensión de la imagen es reducida a la mitad GVA-ELAI-UPM®PFC0092-2009 19

20 FILTRADO DE DIFUSIÓN ANISOTRÓPICA 3D PARÁMETROS ESTADÍSTICOS Filtro no lineal sin parámetros de control Suavizado de la imagen y de sus zonas homogéneas Parámetros usados en la umbralización y el post – procesado mediaGrisLiver: nivel medio de gris del hígado minSupLiver: nivel máximo de gris en el hígado. minInfLiver: nivel mínimo de gris en el hígado. mediasCT: nivel medio de gris en cada zona del histograma. stdCT: desviación estándar GVA-ELAI-UPM®PFC0092-2009 20

21 DETECCIÓN DE BORDESUMBRALIZACIÓN Detector de bordes de Canny Dilatación con máscara 3x3 GVA-ELAI-UPM®PFC0092-2009 21 Umbrales calculados con la media y la desviación superior e inferior

22 POST-PROCESADO MORFOLÓGICOCONTORNO ACTIVO EN 3D Refinamiento del borde Búsqueda del objeto mayor Evolución de una superficie sujeta a las limitaciones de la imagen GVA-ELAI-UPM®PFC0092-2009 22

23 REAJUSTE DE TAMAÑOPUNTUACIONES Redimensionado al tamaño original Comparación de la segmentación manual y la automática 0-100 GVA-ELAI-UPM®PFC0092-2009 23

24 CLASES BÁSICASFILTROS Image ImageFileReader ImageRegionIterator Index Matrix Size BinaryThresholdImageFilter CannyEdgeDetectionImageFilter CastImageFilter ConnectedComponentImageFilter ExtractImageFilter ImportImageFilter NotImageFilter OrImageFilter RelabelComponentImageFilter ResampleImageFilter RescaleIntensityImageFilter VotingBinaryHoleFillingImageFilter GVA-ELAI-UPM®PFC0092-2009 24

25 SegmLiverCT expandirHistoCTreduceVolume3DsolInicialCT procTVPpar psfLiver fusionUmbralizacion deteccionBores postProcesado CA3DHig errorBayes lut4D alineamientoBordes nb3DgPar imresize3D 25

26 Supercomputadores Magerit (UPM) Utilidades PuTTY WinSCP XMing CMake en línea de comandos Instalación VTK, FLTK, ITK y LiverSegm GVA-ELAI-UPM®PFC0092-2009 26

27 Ordenador con capacidades de cálculo muy superiores a las del resto de equipos de la misma época de fabricación UPM-CeSViMa Magerit GVA-ELAI-UPM®PFC0092-2009 27

28 Clúster de 1204 nodos BladeCenter 1036 nodos JS20: 2 núcleos, 2.2GHz, 4GB RAM y 40GB disco duro 8.8GFLOPS 168 nodos JS21: 4 núcleos, 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-UPM®PFC0092-2009 28

29 PuTTY Cliente SSH XMing Sistema de ventanas X WinSCP Cliente SFTP gráfico que emplea SSH CMake En línea de comandos GVA-ELAI-UPM®PFC0092-2009 29

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-UPM®PFC0092-2009 30

31 Resultados Posibles mejoras GVA-ELAI-UPM®PFC0092-2009 31

32 Menor tiempo de ejecución Mejor resultado Multiplataforma Integrado en MATLAB Integrado en Cliente–Servidor GVA-ELAI-UPM®PFC0092-2009 32

33 Paralelización de algoritmos Incluir información de los pulmones Reducir la memoria consumida Integración del algoritmo en equipos de imagen médica Seguimiento semiautomático de lesiones GVA-ELAI-UPM®PFC0092-2009 33

34 34 GVA-ELAI-UPM®PFC0092-2009


Descargar ppt "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."

Presentaciones similares


Anuncios Google