stringtranslate.com

Representación de volumen

Múltiples tomógrafos de rayos X (con calibración cuantitativa de densidad mineral ) apilados para formar un modelo 3D
Tomografía computarizada de un antebrazo con representación volumétrica y diferentes esquemas de color para músculo, grasa, hueso y sangre

En visualización científica y gráficos por computadora , la representación de volumen es un conjunto de técnicas utilizadas para mostrar una proyección 2D de un conjunto de datos muestreados discretamente en 3D , típicamente un campo escalar 3D .

Un conjunto de datos 3D típico es un grupo de imágenes de cortes 2D adquiridas mediante un escáner CT , MRI o MicroCT . Por lo general, se adquieren en un patrón regular (por ejemplo, un corte por cada milímetro de profundidad) y suelen tener una cantidad regular de píxeles de imagen en un patrón regular. Este es un ejemplo de una cuadrícula volumétrica regular, donde cada elemento de volumen o vóxel está representado por un único valor que se obtiene al muestrear el área inmediata que rodea al vóxel.

Para generar una proyección 2D del conjunto de datos 3D, primero hay que definir una cámara en el espacio en relación con el volumen. Además, hay que definir la opacidad y el color de cada vóxel. Esto se suele definir mediante una función de transferencia RGBA (para rojo, verde, azul, alfa) que define el valor RGBA para cada valor de vóxel posible.

Por ejemplo, se puede visualizar un volumen extrayendo isosuperficies (superficies de valores iguales) del volumen y representándolas como mallas poligonales o representando el volumen directamente como un bloque de datos. El algoritmo de cubos en marcha es una técnica común para extraer una isosuperficie de los datos de volumen. La representación directa del volumen es una tarea que requiere un uso intensivo de recursos computacionales y que se puede realizar de varias maneras.

Otro método de renderizado de volumen es la marcha de rayos .

Alcance

Tipos de presentaciones de tomografías computarizadas , con dos ejemplos de representación de volumen

La representación de volumen se distingue de las presentaciones de tomografía de corte fino y también se distingue generalmente de las proyecciones de modelos 3D, incluida la proyección de intensidad máxima . [1] Aún así, técnicamente, todas las representaciones de volumen se convierten en proyecciones cuando se ven en una pantalla bidimensional , lo que hace que la distinción entre proyecciones y representaciones de volumen sea un poco vaga. Sin embargo, los epítomes de los modelos de representación de volumen presentan una combinación de, por ejemplo, coloración [2] y sombreado [3] para crear representaciones realistas y/o observables.

Representación directa de volumen

Un renderizador de volumen directo [4] [5] requiere que cada valor de muestra se asigne a la opacidad y a un color. Esto se hace con una " función de transferencia ", que puede ser una rampa simple, una función lineal por partes o una tabla arbitraria. Una vez convertido a un valor de modelo de color RGBA (para rojo, verde, azul, alfa), el resultado RGBA compuesto se proyecta en el píxel correspondiente del búfer de cuadros. La forma en que esto se hace depende de la técnica de renderizado.

Es posible combinar estas técnicas. Por ejemplo, una implementación de deformación de corte podría utilizar hardware de texturización para dibujar los cortes alineados en el búfer fuera de pantalla .

Proyección de rayos de volumen

Volume Ray Casting. La momia de cocodrilo fue proporcionada por el Museo de Antropología Phoebe A. Hearst, de la Universidad de California en Berkeley. Los datos de la TC fueron adquiridos por Rebecca Fahrig, del Departamento de Radiología de la Universidad de Stanford, utilizando un Siemens SOMATOM Definition, de Siemens Healthcare. La imagen fue renderizada con el motor High Definition Volume Rendering® de Fovia.

La técnica de proyección de rayos de volumen se puede derivar directamente de la ecuación de renderizado . Proporciona resultados de muy alta calidad, generalmente considerados como los que proporcionan la mejor calidad de imagen. La proyección de rayos de volumen se clasifica como una técnica de renderizado de volumen basada en imágenes, ya que el cálculo emana de la imagen de salida, no de los datos de volumen de entrada como es el caso de las técnicas basadas en objetos. En esta técnica, se genera un rayo para cada píxel de imagen deseado. Utilizando un modelo de cámara simple, el rayo comienza en el centro de proyección de la cámara (generalmente el punto del ojo) y pasa a través del píxel de la imagen en el plano de imagen imaginario que flota entre la cámara y el volumen que se va a renderizar. El rayo se recorta por los límites del volumen para ahorrar tiempo. Luego, el rayo se muestrea a intervalos regulares o adaptativos en todo el volumen. Los datos se interpolan en cada punto de muestra, se aplica la función de transferencia para formar una muestra RGBA, la muestra se compone sobre el RGBA acumulado del rayo y el proceso se repite hasta que el rayo sale del volumen. El color RGBA se convierte en un color RGB y se deposita en el píxel de imagen correspondiente. El proceso se repite para cada píxel de la pantalla para formar la imagen completa.

Salpicaduras

Se trata de una técnica que sacrifica la calidad por la velocidad. En ella, cada elemento de volumen se proyecta , como dijo Lee Westover, como una bola de nieve, sobre la superficie de visualización en orden de atrás hacia adelante. Estas proyecciones se representan como discos cuyas propiedades (color y transparencia) varían diametralmente de manera normal ( gaussiana ). También se utilizan discos planos y con otros tipos de distribución de propiedades según la aplicación. [6] [7]

Urdimbre de corte

Ejemplo de representación de un cráneo de ratón (TC) utilizando el algoritmo de deformación por corte

El enfoque de deformación de corte para la representación de volumen fue desarrollado por Cameron y Undrill, popularizado por Philippe Lacroute y Marc Levoy . [8] En esta técnica, la transformación de visualización se transforma de manera que la cara más cercana del volumen se alinea con el eje de un búfer de datos de imagen fuera de la pantalla con una escala fija de vóxeles a píxeles. Luego, el volumen se renderiza en este búfer utilizando la alineación de memoria mucho más favorable y factores de escala y mezcla fijos. Una vez que se han renderizado todas las porciones del volumen, el búfer se deforma a la orientación deseada y se escala en la imagen mostrada.

Esta técnica es relativamente rápida en software, pero el costo es que el muestreo es menos preciso y la calidad de imagen es potencialmente peor en comparación con la proyección de rayos. Existe una sobrecarga de memoria para almacenar varias copias del volumen, para la capacidad de tener volúmenes alineados cerca del eje. Esta sobrecarga se puede mitigar utilizando la codificación de longitud de ejecución .

Representación de volumen basada en texturas

Una cabeza de cadáver renderizada en volumen utilizando mapeo de texturas alineadas con la vista y reflexión difusa

Muchos sistemas de gráficos 3D utilizan el mapeo de texturas para aplicar imágenes o texturas a objetos geométricos. Las tarjetas gráficas de PC de consumo son rápidas en el texturizado y pueden renderizar eficientemente porciones de un volumen 3D, con capacidades de interacción en tiempo real. Las GPU de estaciones de trabajo son incluso más rápidas y son la base de gran parte de la visualización del volumen de producción que se utiliza en imágenes médicas , petróleo y gas y otros mercados (2007). En años anteriores, se utilizaban sistemas dedicados de mapeo de texturas 3D en sistemas gráficos como Silicon Graphics InfiniteReality , el acelerador de gráficos HP Visualize FX y otros. Esta técnica fue descrita por primera vez por Bill Hibbard y Dave Santek. [9]

Estos cortes se pueden alinear con el volumen y renderizar en un ángulo respecto del espectador, o bien alinear con el plano de visualización y muestrear a partir de cortes no alineados a través del volumen. Para la segunda técnica se necesita compatibilidad con hardware gráfico para texturas 3D.

La texturización alineada con el volumen produce imágenes de calidad razonable, aunque a menudo hay una transición notable cuando se gira el volumen.

Representación de volumen acelerada por hardware

Debido a la naturaleza extremadamente paralela de la renderización de volumen directa, el hardware de renderización de volumen de propósito especial fue un tema de investigación rico antes de que la renderización de volumen de GPU se volviera lo suficientemente rápida. La tecnología más citada fue el sistema de proyección de rayos en tiempo real VolumePro, desarrollado por Hanspeter Pfister y científicos de Mitsubishi Electric Research Laboratories , [10] que utilizó un gran ancho de banda de memoria y fuerza bruta para renderizar utilizando el algoritmo de proyección de rayos. La tecnología se transfirió a TeraRecon, Inc. y se produjeron y vendieron dos generaciones de ASIC. El VP1000 [11] se lanzó en 2002 y el VP2000 [12] en 2007.

Una técnica recientemente explotada para acelerar los algoritmos tradicionales de renderizado de volumen, como el ray-casting, es el uso de tarjetas gráficas modernas. A partir de los sombreadores de píxeles programables , la gente reconoció el poder de las operaciones paralelas en múltiples píxeles y comenzó a realizar cálculos de propósito general en las unidades de procesamiento gráfico (GPGPU). Los sombreadores de píxeles pueden leer y escribir aleatoriamente desde la memoria de video y realizar algunos cálculos matemáticos y lógicos básicos. Estos procesadores SIMD se utilizaron para realizar cálculos generales, como renderizar polígonos y procesamiento de señales. En las últimas generaciones de GPU , los sombreadores de píxeles ahora pueden funcionar como procesadores MIMD (ahora capaces de ramificarse de forma independiente) utilizando hasta 1 GB de memoria de textura con formatos de punto flotante. Con tal poder, prácticamente cualquier algoritmo con pasos que se puedan realizar en paralelo, como el ray-casting de volumen o la reconstrucción tomográfica , se puede realizar con una tremenda aceleración. Los sombreadores de píxeles programables se pueden utilizar para simular variaciones en las características de la iluminación, la sombra, el reflejo , el color emisivo, etc. Estas simulaciones se pueden escribir utilizando lenguajes de sombreado de alto nivel .

Técnicas de optimización

El objetivo principal de la optimización es omitir la mayor cantidad de volumen posible. Un conjunto de datos médicos típico puede tener un tamaño de 1 GB. Para reproducirlo a 30 fotogramas por segundo se necesita un bus de memoria extremadamente rápido. Omitir vóxeles significa que se necesita procesar menos información.

Saltar espacio vacío

A menudo, un sistema de renderización de volumen tendrá un sistema para identificar regiones del volumen que no contienen material visible. Esta información se puede utilizar para evitar la renderización de estas regiones transparentes. [13]

Terminación temprana de rayos

Esta es una técnica que se utiliza cuando el volumen se renderiza en orden de adelante hacia atrás. Para un rayo que atraviesa un píxel, una vez que se ha encontrado suficiente material denso, las muestras posteriores no harán una contribución significativa al píxel y, por lo tanto, pueden ignorarse.

Subdivisión espacial de Octree y BSP

El uso de estructuras jerárquicas como octree y BSP -tree podría ser muy útil tanto para la compresión de datos de volumen como para la optimización de la velocidad del proceso de proyección de rayos volumétricos.

Segmentación de volumen

La segmentación de volumen incluye la eliminación automática de hueso, como la que se utiliza en la imagen de la derecha en esta angiografía por TC .
Segmentación de volumen de una tomografía computarizada del tórax renderizada en 3D : la pared torácica anterior, las vías respiratorias y los vasos pulmonares anteriores a la raíz del pulmón se han eliminado digitalmente para visualizar el contenido torácico:
- azul : arterias pulmonares
- rojo : venas pulmonares (y también la pared abdominal ) - amarillo : el mediastino - violeta : el diafragma

Visualización de los órganos internos a partir del conjunto de datos segmentados Visible Human generados por Voxel-Man , junto con un dibujo de Leonardo da Vinci (1998)

La segmentación de imágenes es un procedimiento manual o automático que se puede utilizar para seccionar grandes porciones del volumen que se considera poco interesante antes de la renderización; la cantidad de cálculos que se deben realizar mediante el ray casting o la combinación de texturas se puede reducir significativamente. Esta reducción puede ser de O(n) a O(log n) para n vóxeles indexados secuencialmente. La segmentación de volumen también tiene importantes beneficios de rendimiento para otros algoritmos de trazado de rayos . La segmentación de volumen se puede utilizar posteriormente para resaltar o exponer [14] estructuras de interés.

Representación de resolución múltiple y adaptativa

Al representar regiones menos interesantes del volumen con una resolución más gruesa, se puede reducir la sobrecarga de entrada de datos. En una observación más detallada, los datos de estas regiones se pueden completar ya sea mediante la lectura de la memoria o el disco, o mediante interpolación . El volumen con una resolución más gruesa se vuelve a muestrear a un tamaño más pequeño de la misma manera que se crea una imagen mipmap 2D a partir del original. Estos volúmenes más pequeños también se utilizan por sí mismos mientras se rota el volumen a una nueva orientación.

Representación de volumen preintegrada

La representación de volumen preintegrada [15] es un método que puede reducir los artefactos de muestreo al precomputar gran parte de los datos necesarios. Es especialmente útil en aplicaciones aceleradas por hardware [16] [17] porque mejora la calidad sin un gran impacto en el rendimiento. A diferencia de la mayoría de las demás optimizaciones, esta no omite vóxeles. En cambio, reduce la cantidad de muestras necesarias para mostrar con precisión una región de vóxeles. La idea es representar los intervalos entre las muestras en lugar de las muestras en sí. Esta técnica captura material que cambia rápidamente, por ejemplo, la transición de músculo a hueso con mucho menos cálculo.

Mallado basado en imágenes

El mallado basado en imágenes es el proceso automatizado de creación de modelos informáticos a partir de datos de imágenes 3D (como MRI , CT , CT industrial o microtomografía ) para análisis y diseño computacional, por ejemplo, CAD, CFD y FEA.

Reutilización temporal de vóxeles

Para una vista de pantalla completa, solo se requiere mostrar un vóxel por píxel (el frontal) (aunque se pueden usar más para suavizar la imagen); si se necesita animación, los vóxeles frontales que se mostrarán se pueden almacenar en caché y su ubicación relativa a la cámara se puede recalcular a medida que se mueve. Cuando los vóxeles de la pantalla se alejan demasiado para cubrir todos los píxeles, se pueden encontrar nuevos vóxeles frontales mediante proyección de rayos o algo similar, y cuando hay dos vóxeles en un píxel, se puede conservar el frontal.

Lista de software relacionado

Código abierto
Comercial
Ejemplo de cerebro de mosca renderizado con modelos de superficie de sus compartimentos utilizando Vaa3D

Véase también

Referencias

  1. ^ Fishman, Elliot K. ; Ney, Derek R.; Heath, David G.; Corl, Frank M.; Horton, Karen M.; Johnson, Pamela T. (2006). "Representación de volumen versus proyección de máxima intensidad en angiografía por TC: qué funciona mejor, cuándo y por qué". RadioGraphics . 26 (3): 905–922. doi : 10.1148/rg.263055186 . ISSN  0271-5333. PMID  16702462.
  2. ^ Silverstein, Jonathan C.; Parsad, Nigel M.; Tsirline, Victor (2008). "Generación automática de mapas de color perceptuales para visualización realista de volumen". Revista de Informática Biomédica . 41 (6): 927–935. doi :10.1016/j.jbi.2008.02.008. ISSN  1532-0464. PMC 2651027 . PMID  18430609. 
  3. ^ Página 185 en Leif Kobbelt (2006). Vision, Modeling, and Visualization 2006: Proceedings, 22-24 de noviembre . IOS Press. ISBN 9783898380812.
  4. ^ Marc Levoy, "Visualización de superficies a partir de datos de volumen", IEEE CG&A, mayo de 1988. Archivo de artículos
  5. ^ Drebin, Robert A.; Carpenter, Loren; Hanrahan, Pat (1988). "Representación de volumen". ACM SIGGRAPH Computer Graphics . 22 (4): 65. doi :10.1145/378456.378484. Drebin, Robert A.; Carpenter, Loren; Hanrahan, Pat (1988). Actas de la 15.ª conferencia anual sobre gráficos por ordenador y técnicas interactivas - SIGGRAPH '88 . p. 65. doi :10.1145/54852.378484. ISBN 978-0897912754.S2CID17982419  .​
  6. ^ Westover, Lee Alan (julio de 1991). "SPLATTING: A Parallel, Feed-Forward Volume Rendering Algorithm" (PDF) . Consultado el 28 de junio de 2012 .[ enlace muerto ]
  7. ^ Huang, Jian (primavera de 2002). "Splatting" (PPT) . Consultado el 5 de agosto de 2011 .
  8. ^ Lacroute, Philippe; Levoy, Marc (1994-01-01). "Renderizado rápido de volumen utilizando una factorización de deformación por corte de la transformación de visualización". Actas de la 21.ª conferencia anual sobre gráficos por ordenador y técnicas interactivas - SIGGRAPH '94. SIGGRAPH '94. Nueva York, NY, EE. UU.: ACM. pp. 451–458. CiteSeerX 10.1.1.75.7117 . doi :10.1145/192161.192283. ISBN  978-0897916677.S2CID1266012  .​
  9. ^ Hibbard W., Santek D., "La interactividad es la clave", Taller de Chapel Hill sobre visualización de volumen , Universidad de Carolina del Norte, Chapel Hill, 1989, págs. 39-43.
  10. ^ Pfister, Hanspeter; Hardenbergh, Jan; Knittel, Jim; Lauer, Hugh; Seiler, Larry (1999). "El sistema de proyección de rayos en tiempo real VolumePro". Actas de la 26.ª conferencia anual sobre gráficos por ordenador y técnicas interactivas - SIGGRAPH '99 . págs. 251–260. CiteSeerX 10.1.1.471.9205 . doi :10.1145/311535.311563. ISBN .  978-0201485608.S2CID 7673547  .{{cite book}}: Mantenimiento CS1: fecha y año ( enlace )
  11. ^ Wu, Yin; Bhatia, Vishal; Lauer, Hugh; Seiler, Larry (2003). "Representación de volumen con proyección de rayos en orden de imagen de corte". Actas del simposio de 2003 sobre gráficos 3D interactivos . p. 152. doi :10.1145/641480.641510. ISBN 978-1581136456.S2CID14641432  .​
  12. ^ TeraRecon. «Anuncio de producto». healthimaging.com . Consultado el 27 de agosto de 2018 .
  13. ^ Sherbondy A., Houston M., Napel S.: Segmentación rápida de volumen con visualización simultánea utilizando hardware gráfico programable. En Proceedings of IEEE Visualization (2003), págs. 171-176.
  14. ^ Tiede U., Schiemann T., Hoehne K.: Representación de alta calidad de datos de volumen atribuido En Actas de IEEE Visualization (1998), págs. 255-262.
  15. ^ Max N., Hanrahan P., Crawfis R.: Coherencia de área y volumen para una visualización eficiente de funciones escalares 3D. En Computer Graphics (Taller de San Diego sobre visualización de volumen, 1990), vol. 24, págs. 27–33.
  16. ^ Engel, Klaus; Kraus, Martin; Ertl, Thomas (2001). "Representación de volumen preintegrada de alta calidad mediante sombreado de píxeles acelerado por hardware". Actas del taller ACM SIGGRAPH/EUROGRAPHICS sobre hardware gráfico . pp. 9–16. CiteSeerX 10.1.1.458.1814 . doi :10.1145/383507.383515. ISBN .  978-1581134070.S2CID14409951  .​{{cite book}}: Mantenimiento CS1: fecha y año ( enlace )
  17. ^ Lum E., Wilson B., Ma K.: Iluminación de alta calidad y preintegración eficiente para renderizado de volumen. En Eurographics/ IEEE Symposium on Visualization 2004.

Lectura adicional