Aplicación para la visualización de imágenes 2D y 3D empleando VTK

Slides:



Advertisements
Presentaciones similares
Procesamiento visual de imágenes
Advertisements

¿PARA QUE ESTAMOS AQUÍ? LOS OBJETIVOS DE LA ENCARNACIÓN.
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
Resultado 2.2 con actividad 2.2.1
Vera Olivera, David Carlos Marín Rosales, Nicolae Harry
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
Procesos matemáticos en la enseñanza/aprendizaje de la geometría
CREACIÓN DE PÁGINAS WEB CON SHAREPOINT DESIGNER 2007 (Sesión 2) Ricardo Ferrís Castell ( ) Departament D Informàtica.
Aranda Fernández, Miguel Ángel García Redondo, Luis Miguel
Sistemas de Graficación
Metodología de la Investigación Social
SIMATICA V2.0. Automatización de Viviendas con Simatic S7-200
CLISSA: Climatología Sistemas Semiautomáticos y Automáticos
Los Objetos de la Clase Escriban la palabra (the word) en español para los objetos de la clase (#1-20).
CLASE 4 EL ENSAMBLADOR.
LLECE - TERCE WinW3S Una introducción Santo Domingo, Marzo 2012.
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
BASE DE DATOS Primeros pasos
UPC Tema: ESPACIO VECTORIAL Rn
Funciones Excel. Parte 1. Introducción 2 Una función Excel es una fórmula o un procedimiento que se realiza en el ambiente de Visual Basic, fuera de.
PRESENTACIÓN DEL SISTEMA
1 Conversatorio con Consumidores que compran en Supermercados de la ciudad de Barranquilla Análisis Estadístico Desarrollado por: Andrés Muñoz 2006.
M.I.A Daniel Alejandro García López
1 Taller Excel Esperanza Colón Antonio Domínguez Nieves Región: Caguas.
Gerencia de Programas Federales de Agua Potable y Alcantarillado Evolución del Sistema Informático de Contraloría Social (SICS) Veracruz, Ver. 2 de octubre.
Coincidencia de imagen a través de cadena de triángulos
INTRODUCCIÓN A JAVA.
BIENVENIDO AL CURSO INTRODUCTORIO LIBREOFFICE IMPRESS 3.4.5
Trascendencia de este curso Curso Introducción a la Computación 1
EL OSO APRENDIZ Y SUS AMIGOS
Informática Educativa Bogotá 2011 – Universidad de Santander UDES
RETIRO DE COMALCALCO DIC. 2012
Proyecto para Centros que trabajan una vez por semana.
INTELIGENCIA ARTIFICIAL
La minimización de los costes
Comité Nacional de Información Bogotá, Julio 27 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
Proyecto Fin de Carrera E.T.S. Ingeniería Informática 26 de Septiembre de 2006 DESARROLLO DE UN COMPONENTE TECLADO ALUMNO: Fco. Javier Sánchez Ramos TUTORES:
Cont.. Universidad Católica de El Salvador Centro Regional de Ilobasco Licenciatura en ciencias de la educación con especialidad en matemática. Portafolio.
Business Proccess Management (BPM)
INTRODUCCIÓN A LA PROGRAMACIÓN
Aqui está Señoras y Señores !!!!!
JORNADA 1 DEL 24 DE MARZO AL 30 DE MARZO EQUIPO 01 VS EQUIPO 02 EQUIPO 03 VS EQUIPO 06 EQUIPO 05 VS EQUIPO 10 EQUIPO 07 DESCANSA EQUIPO 08 VS EQUIPO 13.
CULENDARIO 2007 Para los Patanes.
Minicurso "Presentaciones con PowerPoint"
MAREAS NEGRAS The accidente of Prestige took place on the 13rd of November 2002 near Galicia. The oil tanker Prestige was 26 years old ship loaded with.
BEATRIZ LAFONT VILLODRE
ESTADOS FINANCIEROS A DICIEMBRE DE 2013.
Departamento: INGENIERÍA MECÁNICA, ENERGÉTICA Y DE MATERIALES
Momentos Daniel Bolaño Asenjo José Juan Corpas Martos
APENDICE TEMA 4. MÉTRICA DE LOS PUNTOS DE FUNCIÓN
* Fuente: Sondeo del Consumidor de la Comisión de la UE, GfK. Expectativas sobre la situación.
AUDITORIA DE LA SEGURIDAD en Telecomunicaciones y redes de computadoras Unidad VI.
Agrupamiento de relaciones no lineales entre expresiones de genes
UPC MATRICES MA49 (EPE) Universidad Peruana de Ciencias Aplicadas
Dr. Jorge Ernesto Rodríguez Universidad de Carabobo
ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL CURSO: GESTION DE LA CALIDAD ING.ELIZABETH FERG 1.
LA RECTA Y SUS ECUACIONES
Direccionamiento de la red: IPv4
Actualización de SP3D (Aspectos generales)
 2003 Prentice Hall, Inc. All rights reserved. 1 Capítulo 6: Clases y Abstracción de Datos Índice del capítulo 6.1 Introducción 6.2 Estructuras 6.3 Clases.
DISEÑO DE LA PROPUESTA DEL PROCESO DE RENDICION DE CUENTAS 2014 Coordinación General de Planificación Ministerio de Agricultura, Ganadería, Acuacultura.
Introducción al diseño gráfico
Informática Médica: Procesamiento de imágenes
Software.
“Desarrollo de algoritmos de procesamiento de imágenes con VTK”
Transcripción de la presentación:

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

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

1. 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 GVA-ELAI-UPM-PFC083-04

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

2.1 Microscopia confocal Microscopio óptico Microscopio confocal GVA-ELAI-UPM-PFC083-04

Microscopio confocal Diafragma de detección (elimina luz del plano focal) Diafragma de iluminación GVA-ELAI-UPM-PFC083-04

2.2 Obtención de imágenes 3D Adquisición de imágenes 3D con el microscopio confocal Archivos *.pic GVA-ELAI-UPM-PFC083-04

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 GVA-ELAI-UPM-PFC083-04

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 GVA-ELAI-UPM-PFC083-04

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 GVA-ELAI-UPM-PFC083-04

Posición y significado de cada byte GVA-ELAI-UPM-PFC083-04

3. Reconstrucción de imágenes 3D Introducción Fases de la reconstrucción tridimensional GVA-ELAI-UPM-PFC083-04

3.1 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 GVA-ELAI-UPM-PFC083-04

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) GVA-ELAI-UPM-PFC083-04

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

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 GVA-ELAI-UPM-PFC083-04

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 GVA-ELAI-UPM-PFC083-04

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 GVA-ELAI-UPM-PFC083-04

4. VTK (Visualization Toolkit) CMake Arquitectura de VTK en C++ GVA-ELAI-UPM-PFC083-04

4.1 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 GVA-ELAI-UPM-PFC083-04

4.2 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 GVA-ELAI-UPM-PFC083-04

4.3 Arquitectura de VTK Modelos de objetos: a) Graphics model b) Visualization model GVA-ELAI-UPM-PFC083-04

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

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 GVA-ELAI-UPM-PFC083-04

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 GVA-ELAI-UPM-PFC083-04

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 GVA-ELAI-UPM-PFC083-04

5 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 GVA-ELAI-UPM-PFC083-04

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) GVA-ELAI-UPM-PFC083-04

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 GVA-ELAI-UPM-PFC083-04

Algoritmo visualización 2D y 3D GVA-ELAI-UPM-PFC083-04

Algoritmo visualización 2D y 3D GVA-ELAI-UPM-PFC083-04

6. Aplicación GUI con MFC Introducción Programación con Visual C++ Librería de clases MFC GVA-ELAI-UPM-PFC083-04

6.1 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. GVA-ELAI-UPM-PFC083-04

6.2 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 GVA-ELAI-UPM-PFC083-04