Texture-Based Volume Rendering

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Texture-Based Volume Rendering ist ein Verfahren zur räumlichen Darstellung von Schnittbildern, wie sie bei CT, oder MRT-Aufnahmen entstehen.

Bei diesem Verfahren werden Texturen des darzustellenden Volumens geometrisch als parallele Schichten/Ebenen aneinander gelegt (Slicing). Die Polygone der Schichten werden mit Texturkoordinaten versehen und definieren die Ausrichtung des Volumens (z. B. senkrechte Schnitte durch ein Objekt). Anhand der Texturkoordinaten können die entsprechenden Datenwerte zur Darstellung berechnet werden (Compositing).

2D-basiertes Texture-Based Volume Rendering

[Bearbeiten | Quelltext bearbeiten]

Ein Ansatz zur Darstellung von 3D-Grafiken ist das Verwenden von aneinander gereihten Texturen, die als 2D-Einzelschichten mittels bilineare Interpolation in einer dreidimensionalen Proxy-Geometrie räumliche Abbildungen quasi kontinuierlich erscheinen lassen.

Diese Proxy-Geometrie, bestehend aus einem Stapel 2D-Schichten, lässt den Betrachter einen räumlichen Eindruck eines Objekts wahrnehmen. Die Interpolation dient dem Ermitteln und Auffüllen der Stellen zwischen den Schichten, um den Eindruck eines zusammenhängenden dreidimensionalen Objekts zu ermöglichen. Die Bildsynthese erfolgt entlang der Polygone des darzustellenden Schichtenstapels von den hintersten darzustellenden Bildpunkten bis zu den vordersten (back-to-front-order).

Drehungen, die sich auf die darzustellende Szene auswirken, müssen auf die Texturen angerechnet werden (siehe Texture Mapping).

Bezug zum lokalen Raum (Objekt)

[Bearbeiten | Quelltext bearbeiten]

Auf dem lokalen Koordinatensystem des Objekts ist durch die Ausrichtung am Objekt eine Koordinate (z. B. auf der z-Achse) entlang einer Schicht jeweils konstant, sofern die Orientierung der Schichten an einer Hauptachse des lokalen Raums erfolgt ist.

Bezug zum globalen Raum (Kamera)

[Bearbeiten | Quelltext bearbeiten]

Das Betrachten des textur-basierten Volumens erfordert bei der Navigation der Szene bzw. Rotation des Objekts an kritischen Stellen die Verschiebung bzw. Veränderung der Texturschichten: Bei einer Perspektive, die sich über eine Drehung von 45° erstreckt, kann man theoretisch die nicht definierten Zwischenräume zwischen den Texturen sehen.

Als einfaches Verfahren ist es durch geringe Komplexität und evtl. leistungsfähiges Instrument zu betrachten. Die Interpolation kann auf der Grafikhardware schnell und ggf. in Parallelschritten berechnet werden. Da die Texturen 2D sind, können mit OpenGL fast auf jeglicher gängiger Hardware Implementierungen schnell realisiert werden. Diese Vorteile stehen vermeintlichen Qualitätsverlusten gegenüber.

Alternativ und inzwischen populärer ist die Visualisierungstechnik unter Verwendung von 3D-Texturen.

Bei der Betrachtung der Polygonscheiben auf hohem Detailgrad können an den Rändern der Scheiben Abweichungen bzw. Artefakte auftauchen. Zusätzliche Filterung (z. B. Gauß-Filter) kann eventuell einen weicheren Verlauf über die Schichten herstellen, wobei jedoch ein Qualitätsverlust der Ansicht (ein sogenanntes verwaschenes Bild) riskiert werden muss. Durch die Vorkehrung, ungünstige Perspektivenmomente zu vermeiden, müssen darüber hinaus drei Kopien bzw. Datensätze des Volumendatensatzes (im Speicher) vorgehalten werden. Dies kann zu Leistungsproblemen der Hardware und der Immersions-Minderung bei den Rezipienten führen.

2D-basiertes multi-texture-based Volume Rendering

[Bearbeiten | Quelltext bearbeiten]

Ein wesentlicher Unterschied zum 2D basierten Verfahren ist, dass die planaren Polygone genutzt werden, um zwischen jeweils vier Voxeleckpunkte zweier Schichten trilinear zu interpolieren. Durch acht Gitterpunkte wird ein neuer Gitterpunkt mit entsprechenden Datenwerten (in der Bildsynthese meist Opazität und Farbe) berechnet und überbrückt den Zwischenraum zwischen zwei Voxelzellen.

  • Engel, K. et al.: Real-Time Volume Graphics, S. 49 ff., AK Peters Ltd. 2006. ISBN 1-56881-266-3