Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porJosé Miguel Caballero Maldonado Modificado hace 6 años
1
“Desarrollo de algoritmos de procesamiento de imágenes con VTK”
Autor: Ignacio Berzal Moreno GVA-ELAI.UPM
2
Objetivos: Visión general de las herramientas de visualización de imágenes Estudio de VTK Reconstrucción 3D (Marching Cubes) Visualización 3D de imágenes biomédicas obtenidas con microscopio confocal Técnicas de filtrado de difusión Desarrollo de una aplicación según el modelo UML GVA-ELAI.UPM
3
1- HERRAMIENTAS DE VISUALIZACIÓN DE IMÁGENES
MATLAB SDC ITK Openmoxis MPI VTK Paraview GVA-ELAI.UPM
4
VTK (Visualization Toolkit)
Librerías de código libre basadas en la programación orientada a objetos Visualización, procesamiento de imágenes, creación de objetos gráficos en 2D y 3D Constituido por dos subsistemas: Librería de clases en C++ “Intérpretes” para la manipulación de las clases en Java, Tcl/Tk y Python GVA-ELAI.UPM
5
Instalación de VTK Instalación binaria Instalación del código fuente
Realizar aplicaciones mediante librerías precompiladas Recomendada para usuarios Ventaja: Rápida instalación Instalación del código fuente Elaborar librerías propias Recomendada para creadores de software Inconveniente: Instalación lenta Ventaja: mejora tiempo de compilación GVA-ELAI.UPM
6
Arquitectura de VTK Modelos de objetos: Graphics model
Transforma datos gráficos en imágenes Visualization model Crea datos gráficos GVA-ELAI.UPM
7
Graphics model Objetos principales:
vtkActor: representa el objeto renderizado vtkCamera: posición y orientación de la imagen vtkMapper: representación geométrica del actor vtkRenderer: controla la renderización vtkRenderWindow:ventana de renderización vtkRenderWindowInteractor: interactua con la escena GVA-ELAI.UPM
8
Visualization model Tipos básicos de objetos: vtkDataObject:
Conjunto genérico de datos Si están estructurados se llaman dataset vtkProcessObject: Fuentes: Construyen o leen los data objects Filtros: Conectan los data objects Mappers: transforman los data objects en datos gráficos Se enlazan formando un pipeline GVA-ELAI.UPM
9
Ejecución del pipeline
render fuente > filtro > mapper > actor - El render inicia la petición de datos, que se comunica a través del pipeline - Las partes del pipeline que no estén actualizadas son reejecutadas - Una vez actualizados los datos al final del pipeline, son rederizados a travès del actor GVA-ELAI.UPM
10
Creación de una aplicación
1. Construir un pipeline de datos para procesar los datos: - Conectar fuentes, filtros y mappers 2. Crear los objetos gráficos para interpretar esos datos: - Crear una ventada de renderización, un render, y un interactor - Renderizar GVA-ELAI.UPM
11
2- FASES DE LA RECONSTRUCCIÓN 3D
Conversión del dominio de adquisición al mallado (marching cubes) Reducción de puntos de mallado GVA-ELAI.UPM
12
Conversión del dominio de adquisición al mallado (marching cubes)
Cada superficie tiene un valor de contorno constante El dataset de la imagen se divide en una malla de celdas tridimensionales, con un valor escalar en cada punto Se elabora una tabla de casos que enumera todos los estados topológicos posibles de una celda, según los valores escalares de sus puntos GVA-ELAI.UPM
13
Pasos de marching cubes
Cálculo del estado interior o exterior de cada vértice de una celda Creación de un índice con el estado binario de cada vértice en un bit separado (8 bits) Uso del índice para buscar el estado topológico de la celda en la tabla de casos Cálculo de la posición de la superficie (por interpolación) para cada arista según la tabla de casos Paso a la siguiente celda GVA-ELAI.UPM
14
Reducción de puntos de mallado
Al tratar cada celda por separado pueden crearse vértices y aristas duplicados en los límites comunes Se eliminan empleando una técnica de fusión de puntos coincidentes GVA-ELAI.UPM
15
3- APLICACIONES SOBRE UNA PILA DE IMAGENES DEL CONFOCAL
Creación de imágenes tridimensionales, a partir de imágenes en dos dimensiones de cortes transversales obtenidas mediante un microscopio confocal Construcción de un pipeline genérico útil para diferentes casos GVA-ELAI.UPM
16
Pipeline de pila de imagen
El filtro DataSpacing describe el valor de cada píxel y la distancia entre los cortes DataVOI selecciona la región de interés SetTransform define como disponer el dato en memoria para que el modelo resultante se vea de frente, manteniendo la correspondencia derecha-izquierda GVA-ELAI.UPM
17
GVA-ELAI.UPM
18
GVA-ELAI.UPM
19
Filtrado dependiente de las características del area a procesar Tipos:
4- FILTRADO DE DIFUSIÓN Filtrado dependiente de las características del area a procesar Tipos: Isotrópico: Acentúa el proceso de difusión en las zonas homogéneas y preserva los bordes Anisotrópico: Realiza un realce puntual del ruido GVA-ELAI.UPM
20
Combinación de difusión isotrópica y anisotrópica
Útil en imágenes con mucho ruido Eliminación previa del ruido con difusión isotrópica Realce posterior de patrones en el ruido con difusión anisotrópica GVA-ELAI.UPM
21
Resultados combinados (en 2D)
- Imagen ruidosa - Imagen filtrada GVA-ELAI.UPM
22
Resultados combinados (en 3D)
- Imagen original Imagen filtrada GVA-ELAI.UPM
23
5- APLICACIÓN “DIFUSIÓN2D3D”
Aplicación software para visualización y filtrado de imágenes 2D y 3D Implementada en lenguaje C++ con VTK Creada mediante modelado UML GVA-ELAI.UPM
24
Modelado UML (Lenguaje Unificado de Modelado): Objetivos
Representar sistemas completos, no sólo la parte software, usando conceptos orientados a objetos Establecer relaciones explícitas entre conceptos y código ejecutable Crear un lenguaje de modelado utilizable por humanos y máquinas Visualizar, especificar, construir y documentar los productos de un sistema software GVA-ELAI.UPM
25
Modelado visual Capturar las partes esenciales del sistema, mediante la abstracción Plasmación mediante notación gráfica Ventajas: Mayor rigor en la especificación Verificación y validación del modelo Independencia del lenguaje de implementación GVA-ELAI.UPM
26
Diagramas UML Representación gráfica de un conjunto de elementos con sus relaciones Casos de uso: Interacción con el sistema Clases: Relaciones entre las clases Secuencia: Interacción entre los objetos GVA-ELAI.UPM
27
Herramienta Rational Rose
Herramienta CASE para el modelado visual con UML Permite especificar, analizar y diseñar el sistema antes de codificarlo Generación de código a partir de los modelos Ingeniería inversa GVA-ELAI.UPM
28
Aplicación “difusión2D3D” : Documentación
Visión y alcance: carácterísticas principales, requerimientos, etc Casos de uso: requisitos funcionales. Actores, curso de éxito, excepciones, etc GVA-ELAI.UPM
29
Casos de uso de la aplicación
Visualizar 2D Visualizar 3D Filtrar Difusión 2D Filtrar Difusión 3D GVA-ELAI.UPM
30
Creación de la aplicación mediante Rational Rose
Creación del proyecto Creación de casos de uso Elaboración de diagramas UML Generación de código Ingeniería inversa GVA-ELAI.UPM
31
GVA-ELAI.UPM
32
GVA-ELAI.UPM
33
Clases de la aplicación
GVA-ELAI.UPM
34
Clases de visualización / filtrado 2D
Parámetros de visualización: Nombre de la imagen en 2D con extensión .jpg Parámetros de filtrado de difusión: Factor de difusión Umbral de difusión Número de iteraciones GVA-ELAI.UPM
35
Clases de visualización / filtrado 3D
Mismos parámetros que en las clases 2D, añadiendo: El archivo de imagen debe ser de extensión .pic Indicar el número de rodajas para formar la imagen 3D ( primera y última) GVA-ELAI.UPM
36
Clase vistaFiltradoDifusión2D3D
Encargada de gestionar el programa Interacciona con el usuario mediante un menú de opciones Accede al resto de clases y establece sus parámetros GVA-ELAI.UPM
37
6- CONCLUSIONES Aportaciones Futuras mejoras GVA-ELAI.UPM
38
Aportaciones Análisis de VTK como herramienta de visualización
La reconstrucción y filtrado de imágenes 3D tiene gran interés en el campo de la biomedicina Importancia del modelado UML en la ingeniería del software (reutilización de código) GVA-ELAI.UPM
39
Mejoras Estudio de otras herramientas de visualización distintas de VTK, y comparativa Ahondar en el estudio de las técnicas de filtrado y reconstrucción de imágenes GVA-ELAI.UPM
40
Mejoras en la aplicación “difusión2D3D”
Creación de un GUI (Grafical User Interface) para interaccionar con el usuario Procesamiento distribuido del filtrado de difusión Utilización de otros tipos de filtros GVA-ELAI.UPM
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.