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®PFC

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®PFC

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®PFC

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®PFC

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®PFC

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®PFC

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

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®PFC

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®PFC

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®PFC

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®PFC

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®PFC

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®PFC

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®PFC #Include mex.h

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

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

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

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®PFC

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®PFC

21 DETECCIÓN DE BORDESUMBRALIZACIÓN Detector de bordes de Canny Dilatación con máscara 3x3 GVA-ELAI-UPM®PFC 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®PFC

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

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®PFC

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®PFC

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®PFC

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®PFC

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®PFC

30 Directorios /gpfs/projects/A20C01001/FLTK-1.1.9/bin /gpfs/projects/A20C01001/VTK-5.2.0/bin /gpfs/projects/A20C01001/InsightToolkit /bin /gpfs/projects/A20C01001/InsightAplications /bin Campos especiales CMAKE_INSTALL_PREFIX ITK_DIR, VTK_DIR, FLTK_DIR GVA-ELAI-UPM®PFC

31 Resultados Posibles mejoras GVA-ELAI-UPM®PFC

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

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®PFC

34 34 GVA-ELAI-UPM®PFC


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