VIS- und Uni-Logo
Blindversion home uni university suche search sitemap sitemap kontakt contact
unilogo University of Stuttgart
Institute for Visualization and Interactive Systems

IMMD IX Volume Visualization by Cell Projection

german VersionPrintversionBlind Version
 

Sorry, this document is only available in German.

Interaktive Volumenvisualisierung mittels Zellprojektion

Im Rahmen der Diplomarbeit "Interaktive Volumenvisualisierung auf hierarchischen, unstrukturierten Gittern" ging es darum, den bei Volumendaten besonders großen Anteil an redundanten Informationen zur reduzieren und mit der so erreichten geometrischen Vereinfachung interaktive Bildwiederholraten zu erreichen. Zum einen wurde das wohlbekannte Verfahren der Zellprojektion implementiert. Dabei wird ein beliebiges Gitter in Tetraeder zerlegt, deren volumetrische Darstellung mittels Hardwareunterstuetzung sehr schnell berechnet werden kann. Bei der Projektion eines Tetraeders treten jeweils zwei verschiedene Topologien auf, die mit der vorhandenen OpenGL-Hardware beschleunigt gezeichnet werden koennen. Die korrekte exponentielle Abschwaechung wird durch die Verwendung einer zweidimensionalen Textur erreicht, die die exponentielle Funktion in Abhaengigkeit von Dichte und Durchdringungslaenge wiedergibt. Zum anderen wurde auf der Seite der Gittergenerierung ein Modell weiterentwickelt, das bereits fuer die Terrainvisualisierung gute Dienste geleistet hatte (siehe "Real-Time Generation of Continuous Levels of Detail for Height Fields", WSCG '98). Hierbei wurde ein Ausgangshexaeder hierarchisch solange unterteilt bis der globale Fehler unter Beruecksichtigung des Augpunktes einen gewissen festzusetzenden Schwellwert unterschreitet. Die Abschaetzung des globalen Fehlers geschieht durch die Berechnung und Propagierung der einzelnen lokalen Fehler von unten nach oben innerhalb des vollstaendigen Quadtrees. Wegen der rectilinearen Struktur des Unterteilungsbaumes, gestaltet sich die notwendige Sortierung der einzelnen Tetraeder von hinten nach vorne relativ einfach. Schwieriger wird es, wenn curvilineare Gitter eingesetzt werden. Fuer diesen Einsatzzweck verwendeten wir einen statischen Gittergenerator der von Grosso et al. entwickelt wurde (siehe "The Multilevel Finite Element Method for Adaptive Mesh Optimization and Visualization of Volume Data", Vis '97). Dieses Verfahren verfolgt eine andere Strategie, indem es eine a priori Abschaetzung des globalen Fehlers errechnet. In der Praxis geht man so vor, daß probeweise eine Unterteilung vorgenommen wird, der so induzierte Fehler durch die Kenntnis der Stetigkeit der zugrundelegenden Funktion abgeleitet wird, und basierend darauf das Gitter weiter verfeinert wird oder eben nicht. Die notwendige Sortierung nach Sichtbarkeit fuer die Volumenvisualisierung verlangt in diesem Fall aber nach einem Algorithmus, der auch unstrukturierte Tetraederwolken sortieren kann. Im Rahmen der Diplomarbeit entstand so ein schnelles heuristisches Verfahren, das die Eigenschaften von hierarchischen Gittern nutzt, um eine hohe Sortierleistung zu erzielen. Im Vergleich zu Methoden, die eine absolut korrekte Sortierung gewaehrleisten, und deswegen die Komplexitaet der Geometrie durch Zellschnitte erhoehen muessen, nimmt unser Verfahren gezielt Sortierartefakte zugunsten der Sortiergeschwindigkeit in Kauf. Experimentelle Tests haben gezeigt, daß diese Artefakte bei hierarchischen Gittern erstens nur in ganz seltenen Faellen auftreten, und zweitens im Vergleich zum Approximationsfehler des Gitters verschwindend gering sind. Somit wurden zwei Verfahren zur Volumenvisualisierung vorgestellt, die einerseits die augpunktabhaengige Gittergenerierung und andererseits eine beliebige Gittertopologie erlauben.

Volumenvisualisierung auf rectilinearen Gittern


Ein 3-dimensionale Gitter in zwei verschiedenen Aufloesungsstufen.


Einige CT-Aufnahmen eines Aneurysmas.


Die Roentgenaufnahme eines Motorblocks und eine MR-Aufnahme eines Kopfes.


Aufloesung 8.0 16.0 32.0 64.0 128.0 256.0
Frames/sec 9.23 2.42 1.14 0.37 0.19 0.18
#Tetraeder 9159 43951 93629 307631 529154 628226
#Vertices 51302 246191 524434 1722976 2963682 3518934
Tabelle 2: Graphikdurchsatz bei der Zellprojektion am Beispiel des Aneurysma-Datensatzes (SGI Octane mit 250 MHz MIPS R10k).


Volumenvisualisierung auf beliebigen Gittern


Aneurysma und Motorblock: die Gitter wurden mit der von Grosso et al. beschriebenen Methode erzeugt.


Mehrere Aufnahmen des Blunt-Fin-Datensatzes, die den Ablauf des Zeichenvorgangs wiedergeben.


Blunt-Fin-Datensatz: die zwei an der Flosse entstehenden Druckwellen sind gut zu erkennen.


Blunt-Fin-Datensatz: die GUIs von apProcessor und apViewer.


Der DLR-Fluegel: dargestellt ist die Druckverteilung um einen Flugzeugfluegel.


Ein Stroemungskanal mit Stufe und innenliegender Isoflaeche, der Abdomen eines Menschen und ein Sparschwein.


#Tetra 7020 19620 37764 163344 541428
Sortieren 0.032s 0.11s 0.24s 1.16s 3.91s
Tetra/sec 219 000 178 000 157 000 141 000 138 000
Tabelle 3: Sortierzeiten fuer den Blunt-Fin-Datensatz (SGI Octane mit 250 MHz MIPS R10k).



#Tetra 7020 19620 37764 163344 541428
Sort+Render 0.11s 0.33s 0.67s 2.97s 10.15s
Tetra/sec 64 000 59 000 56 000 55 000 53 000
Tabelle 4: Sortier- und Renderzeit fuer den Blunt-Fin-Datensatz (SGI Octane mit 250 MHz MIPS R10k).





Contact: