Representación y Rendering de Volúmenes




(Agradecemos a Andrea Silvetti por facilitarnos el material necesario para esta parte de la presentación.)

Objetivos.

Poder sondear dentro de conjuntos volumétricos de datos, y explorar en estructuras complejas y de gran tamaño.

Buscar un entendimiento global de determinadas propiedades de los datos.

Innumerable cantidad de aplicaciones.









El pipeline de visualización de volúmenes.

El proceso de visualización involucra tres etapas:

  • Construcción de un MODELO EMPÍRICO.

  • Construcción de un MODELO ABSTRACTO.

  • Construcción de un MODELO VISUALIZADO.


Realimentación para ajustar parámetros y lograr mayor insight sobre los datos.




Construcción de un modelo empírico.


Los datos crudos pasan por una serie de procesos resultando en datos derivados.

Ejemplos de esos procesos:

  • Interpolación: para obtener valores faltantes cuando la información es incompleta.

  • Transformación de coordenadas: si los datos se procesan y visualizan mejor en un sistema de coordenadas alternativo.

  • Normalización: para llevar los datos a un rango de valores predefinidos.



Construcción de un modelo abstracto.


A partir de los datos derivados se crea el objeto de visualización abstracto.

Ejemplos:

  • Asignación de color y opacidad a partir de una función transferencia aplicada a valores escalares de un volumen.

  • Extracción de una superficie a partir de un valor umbral.


La elecciónn correcta de la función transferencia es difícil, y debe ser adecuada para obtener un buen insight sobre los datos.

Ejemplo: la tabla de color para visualizar una tomografía, debería proyectar valores de densidad de huesos a blanco/opaco, de músculos a rojo/semitransparente, y de tejido graso a amarillo/muy transparente.



Construcción del modelo visualizado.


Se convierte la representación computacional de los datos en una imagen visual, mediante un proceso denominado rendering.

Ejemplos:

  • Elección de los parámetros de visión: punto de vista, tipo de proyección (paralela o perspectiva), etc.

  • Viewing: determinación de lo que debe verse a través de cada pixel en la pantalla.

  • Shading: simulación de la interacción de la luz para determinar el color final para cada pixel de la imagen.



Datos volumétricos.

Pueden provenir de:

  • Sensores (tomógrafos, satélites).

  • Tareas computacionales (simulaciones o análisis por elemento finito).

  • Muestreos y mediciones.


Son un conjunto de muestras V(x,y,z)=v donde:

  • (x,y,z): es una posición 3D.

  • v escalar: representando una propiedad medible en (x,y,z).

  • v multivaluado: si representa simultáneamente varios datos.


Se pueden calcular muestras intermedias (remuestreo):

  • Por medio de interpolación constante (toma el valor del vecino más cercano).

  • Por medio de interpolación bilineal o trilineal.



Voxels vs. Celdas.

Como consecuencia del remuestreo, los volúmenes de datos se tratan como:

  • Voxels: cuando la interpolación es constante.


    Un voxel es un área hexaédrica alrededor de un punto de grilla con valor constante igual al valor de dicho punto.

  • Celdas: cuando la interpolación es de mayor orden.


    Una celda es un área hexaédrica cuyas esquinas son puntos de grilla y los valores varían entre dichos puntos.



Grillas.

Grilla regular: todos los elementos son prismas rectangulares idénticos alineados a los ejes (si los elementos son cubos idénticos, la grilla es cartesiana).

Grilla tetraédricas: todos sus elementos son tetraedros sin conectividad explícita. No hay restricción en cuanto al número de arcos que llegan a un vértice.

Grilla cuberrilla: grillas regulares ralas que se completan interpolando o aproximando los datos ralos bajo modelos matemáticos definidos sobre todo el dominio.



Modelos de iluminación.

Determinan cuánta luz se refleja hacia un observador desde un punto visible, para calcular la intensidad y el color para el pixel sobre el cual proyecta dicho punto.

Modelos locales (Simples pero menos reales).

  • Sólo consideran la interacción entre los iluminantes y los objetos.

  • La información de profundidad sólo permite indicar la forma de los objetos.


Modelos globales (Costosos, complejos y más reales).

  • Los objetos pueden actuar como fuentes de luz.

  • Consideran la luz reflejada entre objetos.

  • Introducen la noción de la distancia tridimensional en la imagen.


Modelos globales para superficies:

  • Consideran un medio de refracción homogénea entre superficies que no participa de la disipación de la luz.

  • Modelos usuales en Computación Gráfica (Ray tracing, Radiosidad, ecuación del rendering, métodos de dos pasadas combinando ray tracing y radiosidad).

  • Se utilizan:

    • Ray tracing.

    • Radiosidad.

    • La ecuación del rendering.

    • Métodos de dos pasadas combinando ray tracing y radiosidad.


Modelos globales para volúmenes:

  • Consideran al volumen como un medio participante que puede absorber, disipar, emitir y refractar la luz que fluye a través.

  • Esto es lo que hace que la Visualización sea una disciplina aparte de la Computación Gráfica.

  • Se utilizan:

    • Ray tracing volumétrico.

    • Radiosidad volumétrica.

    • La ecuación del rendering y su simplificación.

    • Composición volumétrica (para evaluar la ecuación del rendering).



La ecuación del rendering.





Calcula la intensidad en cada pixel x de la imagen integrando a lo largo del rayo de visión las intensidades de cada punto x', atenuadas por la dispersión de la luz antes de alcanar el ojo (entre x y x'). r(x'') corresponde a la densidad del sólido en el punto x''.



Composición volumétrica.

Modelo para aproximar la intensidad de la luz a medida que atraviesa una serie de objetos semitransparentes de manera discreta, asumiendo que:


  • La intensidad de la luz es atenuada por los objetos en forma proporcional a la intensidad de energía que estos reciben.

  • El objeto en sí mismo puede emitir luz con una cierta intensidad.


La composición puede hacerse de dos formas con igual resultado:


  • Back-to-Front: de atrás hacia adelante.


  • Front-to-Back: de adelante hacia atrás.



Composición Back-to-Front.

Combina la intensidad Ii del i-ésimo elemento, su transparencia ti y la intensidad entrante Ii-in para obtener la intensidad saliente Ii-out.


Ii-out = ti * Ii-in + Ii


La intensidad Fi acumulada hasta el paso i es:


Fi = ti * Fi-1 + Ii


La forma de computar la intensidad final en un rayo es:



La composición front-to back puede resolverse de manera similar.



Clasificación de técnicas.

Rendering Interactivo: técnicas sencillas y ad hoc cuya forma de procesar los datos no intenta ni representar directamente un sólido, ni encontrar una superficie umbral. Difiere notablemente con los métodos siguientes.

Rendering de Superficies: técnicas que primero convierten los datos a una representación intermedia, que en general es una superficie exterior o umbral del volumen.

Rendering Directo de Volúmenes (DVR): técnicas que visualizan directamente al conjunto de datos sin pasar por representaciones intermedias.



Métodos Interactivos.

Técnicas primitivas, poco complejas, conceptualmente fáciles de implementar y rápidas.

No pasan a una representaciones de superficies, ni se visualizan de manera directa.

Grafican dominios 3D usando técnicas convencionales de computación gráfica.

Generalmente, trabajan con los datos sobre una grilla cuberrilla (datos ralos).

Algunos métodos interactivos para datos geométricos:

  1. Contornos de Wireframe (líneas).

  2. Tiny Cubes (cubos o esferas de tamaño variable sin transparencia).


  1. Vanishing cubes (lados de celdas proyectados con transparencia).


  2. Slicing (superpone capas del volumen con transparencia).


  3. Métodos interactivos para datos valuados:


    Brushing (resolución variable con transparencia).

    • Cualitativo (clasificación por valor umbral).

    • Planar (cortes transversales).


    • Volumétrico (identificación de un subvolumen).



Métodos de Superficies.

A partir de una valor umbral, mapean los valores de datos en un conjunto de primitivas geométricas.

Son rápidos y sencillos.

Aprovechan el hecho que los métodos para mostrar primitivas geométricas están bien establecidos, ya sea por software o por el uso de hardware de aceleración.

Transmiten menos información.

Se pierde una dimensión de información y no sirven para visualizar conjuntos de datos con formas complejas.

Los pasos básicos de cualquier algoritmo de este tipo son:

  • Extraer la superficie a partir de una valor umbral.

  • Elegir parámetros de visión, de iluminación, tipo de proyección, etc.

  • Renderizar las primitivas geométricas.


Algunos métodos de superficies destacados.

  1. Cubos opacos: Renderiza un cubo opaco en cada celda cuyo valor está debajo del umbral. Es muy notoria la formación de bloques.


  2. Dividing Cubes: Renderizan puntos 3D basado en celdas. Divide adaptativamente las celdas hasta lograr proyecciones puntuales.


  3. Tracking de contornos: Conecta isocontornos en cortes transversales, produciendo un conjunto de triángulos que son renderizados por librería.


  4. Tracking de isosuperficies: Extrae una superficie umbral como conjunto de triángulos, que luego son renderizados por librería.

    Son muy utilizados porque se adaptan bien a datos estructurados en celdas o a datos tetraedrizados (estructuras menos restringidas y más frecuentes).


    El primero de los casos se denomina marching cubes.


    Clasifica cada celda según los valores de sus vértices respecto al valor umbral.

    Una celda pertenece a la superficie si tiene al menos un vértice con valor inferior al umbral y otro con valor superior a éste.

    Son posibles 2^8 = 256 combinaciones de celdas de superficie, que se reducen a 128 por complemento y a 15 por rotaciones.

    Equivalencia por complemento: Invertir los puntos marcados y luego invertir los normales de los triángulos.


    Equivalencia por rotación.


    15 configuraciones originalmente propuestas.


    Problema: El algoritmo original produce superficies con "agujeros" cuando dos celdas adyacentes comparten una cara que es considerada de manera diferente en cada caso.


    El segundo de los métodos de tracking de isosuperficies se denomina marching tetrahedra.

    En la siguiente figura hay que considerar solamente los primeros tres casos, los otros tienen en cuenta la posibilidad de que el valor de la celda coincida con el umbral (vértices marcados en gris).




Métodos Directos (DVR).

Pretenden capturar íntegramente los datos 3D en una imagen 2D.

Transmiten más información que las otras técnicas.

Involucran el uso de modelos de iluminación más elaborados (transparencia, absorción, difusión, etc.).

Algoritmos son más complejos, y en consecuencia más lentos.

No convierten los datos a una representación intermedia, por lo que son apropiados para datos no estructurados, o cuya forma es geométricamente compleja.

Los pasos básicos de cualquier algoritmo DVR son:

  • Asignar un color y una opacidad a cada muestra de datos (función transferencia).

  • Proyectar las muestras sobre el plano de la imagen.

  • Mezclar las proyecciones en base a un modelo físico de propagación de la luz sobre un material semitransparente y coloreado.


Se dividen en algoritmos de:

  • Forward mapping: mapean los datos sobre la imagen.

  • Backward mapping: mapean el plano de la imagen sobre los datos.



Backward mapping.

Se basan en computar el modelo de iluminación por medio de la composición back-to-front.

Recorren los pixels en el espacio de la imagen determinando la contribución de los datos visibles desde cada pixel por los siguientes caminos:

  • Por trazado de rayos.

  • Mediante líneas de barrido.


  • Paralelizables a nivel de rayos (datos repetidos en cada nodo).

    Generan cada muestra de salida a partir de varias de entrada.

    En general usan interpolación como kernel de reconstrucción y por lo tanto suelen precisar técnicas de anti-aliasing.



    Algoritmos de Backward mapping.

    • Métodos que simulan el transporte de luz.

      Muy buena calidad en imágenes luminosas pero lentos. Modelan el fenómeno de transporte de luz que simula la ecuación del rendering. Evaluan la integral que simula la luz proveniente de objetos traslúcidos.


    • Ray Casting (trazado de rayos que atraviesan el volumen calculando la contribución en cada paso).

      Ray Casting basado en voxels: (interpolación constante, luego tiene la ventaja de mayor simplicitad, velocidad, y la desventaja de mayor aliasing por discretización de rayos).


      Puede evaluarse por medio de un rayo contínuo (como en el ray tracing de computación gráfica), o por medio de rayos discretos (trazado de rayos generados por algoritmos de línea tipo DDA 3D).


      Ray Casting basado en celdas: (interpolación trilineal, luego los algoritmos son más complejos y costosos, pero con mayor calidad).

      • Ray tracing de celdas (composición BTF de contribuciones, Phong y gradientes).

      • Ray casting basado en celdas (visibilidad en el espacio de la imagen, menor calidad, y mayor rapidez).

      • Procesamiento Cell by Cell (híbrido, mejor calidad, similar a splatting).



    Algoritmos de Forward mapping.

    Recorren los datos en el espacio de los objetos mapeándolos sobre el plano de la imagen.


    Características principales:

    • Fácilmente paralelizables a nivel de datos.

    • Propagan cada muestra de entrada en varias de salida.

    • Permiten generar imágenes progresivas.

    • Permiten visualizar resultados intermedios.

    • Permiten aplicar algún tipo de coherencia.



    La recorrida de los datos puede ser:

    • Por proyecciones.

    • Por funciones transformadas.


    Métodos forward mapping proyectivos (renderizan por composición sobre un frame buffer).

    1. Proyección de voxels:

      Front-to-back. (primitivos y con soporte para transparencias).

      Splatting (contribución ponderada de un voxel en varios pixels).

      Splatting jerárquico (representación piramidal de datos, permite precisión variable).

      El splatting de un voxel produce una huella o footprint en varios pixels de la pantalla.


    2. Proyección de celdas:(clases de equivalencias y coherencia).

      Casos posibles de proyección de celdas hexaédricas.


      Casos posibles de proyección de celdas tetraédricas.


    3. Proyección de planos: (Rapidez y calidad. Proyección eficiente debido a que hacen una factorización de la transformación de viewing).


      El método más utilizado es el Shear-Warp.


    Métodos en dominios intermedios. (Datos-Dominio intermedio-Procesamiento)

    • Dominio de Frecuencia (simplifica la proyección del volumen)
    • Dominio de Compresión (menos almacenamiento y cálculos)
    • Dominio de Wavelet (forma elegante de trabajar con multiresolución)