La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

GVA-ELAI-UPM-PFC083-04 1 Aplicación para la visualización de imágenes 2D y 3D empleando VTK Nuria Paniagua.

Presentaciones similares


Presentación del tema: "GVA-ELAI-UPM-PFC083-04 1 Aplicación para la visualización de imágenes 2D y 3D empleando VTK Nuria Paniagua."— Transcripción de la presentación:

1 GVA-ELAI-UPM-PFC Aplicación para la visualización de imágenes 2D y 3D empleando VTK Nuria Paniagua

2 GVA-ELAI-UPM-PFC Sumario del proyecto 1. Objetivos 2. Imágenes *.pic obtenidas del confocal 3. Reconstrucción de imágenes 3D 4. VTK (Visualization Toolkit) 5. Reconstrucción de imágenes con VTK Algoritmo visualización 2D y 3D 6. Aplicación GUI con MFC Ventana de visualización de imágenes 2D y 3D

3 GVA-ELAI-UPM-PFC Objetivos Reconstrucción tridimensional Funcionamiento y uso de librerías VTK Algoritmo de visualización 2D y 3D Aplicación GUI a partir de MFC

4 GVA-ELAI-UPM-PFC Imágenes *.pic obtenidas del confocal 1. Microscopia confocal 2. Obtención de imágenes 3D

5 GVA-ELAI-UPM-PFC Microscopia confocal Microscopio óptico Microscopio confocal

6 GVA-ELAI-UPM-PFC Microscopio confocal – Diafragma de detección (elimina luz del plano focal) – Diafragma de iluminación

7 GVA-ELAI-UPM-PFC Obtención de imágenes 3D 1. Adquisición de imágenes 3D con el microscopio confocal 2. Archivos *.pic

8 GVA-ELAI-UPM-PFC Obtención de imágenes 3D obtenidas del confocal Imágenes obtenidas del confocal son siempre imágenes digitales Los fotodetectores transforman la señal lumínica en señal eléctrica que mediante el sistema informático acoplado se traduce en un píxel Píxel: – Localización tridimensional del punto excitado – La intensidad lumínica de dicho punto Almacenamiento de imágenes digitales en ficheros gráficos

9 GVA-ELAI-UPM-PFC Archivos *.pic Ficheros gráficos que almacenan imágenes digitalizadas Formato: – Cabecera: datos relativos al gráfico que se almacena (ancho, alto,relación entre píxel y unidad de medida, unidad de medida, tipo de imagen (color o blanco y negro), codificación del color, método de compresión si lo hay) – Datos del gráfico o de la imagen digitalizada. Almacenan: – Imagen digitalizada por fichero en tonos de gris o en color – Secuencia de imágenes en cada fichero

10 GVA-ELAI-UPM-PFC Secuencia de imágenes Formato del fichero: – Cabecera: 6 enteros (4 bytes cada uno) – Slices: cada una de las imágenes que contiene el fichero (en tonos de gris) Formato de los datos de las imágenes: – Matriz de bytes sin comprimir, por cada unos de los diferentes slices que componen la imagen,donde se almacena el valor de los píxeles por filas

11 GVA-ELAI-UPM-PFC Posición y significado de cada byte

12 GVA-ELAI-UPM-PFC Reconstrucción de imágenes 3D 1. Introducción 2. Fases de la reconstrucción tridimensional

13 GVA-ELAI-UPM-PFC Reconstrucción tridimensional Visualización de datos basada en el uso de algoritmos que transformen estos Clasificación de algoritmos según: Estructura: efectos que la transformación tiene en la topología y geometría del dataset Tipo: tipo de dataset sobre el que operan los algoritmos – Escalares: técnica de contorneado

14 GVA-ELAI-UPM-PFC Técnica de contorneado Construir límites entre regiones distintas de valores de datos constantes Estos límites corresponden a líneas de contorno (en 2D) y superficies (en 3D)

15 GVA-ELAI-UPM-PFC Fases de la reconstrucción tridimensional a) Marching cubes b) Reducción puntos de mallado c) Suavizado del mallado

16 GVA-ELAI-UPM-PFC a) Marching cubes Cada punto de la malla del dataset tiene un valor escalar asociado Cada superficie tiene un valor de contorno constante Un contorno sólo puede atravesar una celda de un número finito de formas Se elabora una tabla de casos que enumera todos los estados topológicos posibles de una celda, dadas las combinaciones de valores escalares en los puntos de la celda

17 GVA-ELAI-UPM-PFC b) Reducción de puntos de mallado A 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 La interpolación en cada arista debe realizarse en la misma dirección – Si no se cumple, pueden generarse puntos que no coincidan exactamente debido al redondeo numérico, y no serán fusionados correctamente

18 GVA-ELAI-UPM-PFC c) Suavizado del mallado Para una celda existen 256 combinaciones de valores escalares dadas por los estados de los 8 vértices Pueden reducirse a 15 por rotaciones y simetrías – Aparecen casos ambiguos en el contorneo – Pueden aparecer huecos en la superficie según el caso elegido

19 GVA-ELAI-UPM-PFC VTK (Visualization Toolkit) 1. VTK 2. CMake 3. Arquitectura de VTK en C++

20 GVA-ELAI-UPM-PFC VTK Librerías de código libre basadas en la programación orientada a objetos Subsistemas componentes: – Librería de clases en C++ – Intérpretes para la manipulación de las clases Visualización, procesamiento de imágenes, creación de objetos gráficos en 2D y 3D

21 GVA-ELAI-UPM-PFC CMake Herramienta multiplataforma de código libre Configurar y dirigir proceso de construcción de aplicaciones Ficheros CMakeLists.txt para describir proceso de construcción y establecer dependencias Crea ficheros necesarios para compilar la aplicación Compilar VTK y trabajar con herramientas propias de la plataforma empleada

22 GVA-ELAI-UPM-PFC Arquitectura de VTK Modelos de objetos: a) Graphics model b) Visualization model

23 GVA-ELAI-UPM-PFC a) Graphics model Transformación de datos gráficos en imágenes Objetos principales: – vtkActor – vtkCamera – vtkLight – vtkMapper – vtkRenderer – vtkRenderWindow – vtkRenderWindowInteractor

24 GVA-ELAI-UPM-PFC b) Visualization model Crea datos gráficos a partir de la información aportada Objetos principales: – vtkDataObject: Datos estructurados llamados dataset (estructura geométrica y topológica de puntos y celdas y atributos asociados) – Process object: Algoritmos del sistema llamados filtros. Junto con los anteriores porman los pipelines de visualización

25 GVA-ELAI-UPM-PFC Tipos de process objects a) Fuentes: Generan datos leyendo o construyendo uno o más data objects b) Filtros:Transforman varios data objects en la entrada, y generar uno o más data objects en la salida c) Mappers: Transforman los data objects en datos gráficos, que son renderizados posteriormente Se enlazan formando el pipeline

26 GVA-ELAI-UPM-PFC 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 por el actor

27 GVA-ELAI-UPM-PFC Reconstrucción de imágenes con VTK Creación de imágenes tridimensionales a partir de imágenes bidimensionales de cortes transversales Programa para visualizar, por separado o conjuntamente, las diferentes superficies que componen un cuerpo Construcción de un pipeline genérico útil para diferentes casos

28 GVA-ELAI-UPM-PFC Creación de una aplicación 1. Construir un pipeline de datos para procesar los datos: – Conectar: Fuentes (crear datos) Filtros (procesar datos) Mappers (transformar datos en gráficos)

29 GVA-ELAI-UPM-PFC Creación de una aplicación 2. Crear los objetos gráficos para interpretar esos datos: – Ventada de renderización para trabajar en ella – Render – Interactor (interactuar con los datos) – Uno o más actores (cada uno unido a un mapper) – Renderizar

30 GVA-ELAI-UPM-PFC Algoritmo visualización 2D y 3D

31 GVA-ELAI-UPM-PFC Algoritmo visualización 2D y 3D

32 GVA-ELAI-UPM-PFC Aplicación GUI con MFC 1. Introducción 2. Programación con Visual C++ 3. Librería de clases MFC

33 GVA-ELAI-UPM-PFC GUI GUI (Interfaz gráfica de usuario) Windows (entorno multitarea basado en ventanas, que representan programas) Desarrollo de programas mediante una librería de rutinas y funciones que permiten gestionar componentes como menús, diálogos, ventanas, etc.

34 GVA-ELAI-UPM-PFC Programación con Visual C++ Entorno integrado de desarrollo que permite la programación orientada a objetos (POO) conjuntamente con el sistema de desarrollo de Windows denominado API Incluye herramientas de desarrollo como un editor de texto, compilador,depurador, visor de datos y pendencias, etc


Descargar ppt "GVA-ELAI-UPM-PFC083-04 1 Aplicación para la visualización de imágenes 2D y 3D empleando VTK Nuria Paniagua."

Presentaciones similares


Anuncios Google