LU Visualisierung - Beispiel 1 von Thomas Stockinger


Aufgabenstellung

Implementierung eines Programms zur Visualisierung von Volumsdaten mittels Ray Casting Algorithmus und Transferfunktion/Compositing (nach Marc Levoy)


Ergebnisse

Entwicklungs-Tool

war Delphi 4, ein an und für sich sehr gut optimierender Compiler. In Anbetracht der großen Datenmengen (> 16MB, je nach Implementierung sogar das 3 bis 4 fache...) ergeben sich aber auf einem Pentium 200 mit 64MB Hauptspeicher unter Windows 95 durchaus lange Entwicklungszeiten....  ;-)

Installation und Start

Das Programm Visu1 (Download als .exe 380KB oder .zip 195KB) ist ein einfaches Windows 32 Bit Executeable und läuft ohne besondere Installation. Nach dem Start gelangt man direkt ins Hauptfenster:

1 - Datensatz laden

Zuerst muß mittels Button "Open" oder dem Menü File->Open ein Datensatz geladen werden. Danach werden die Dimensionen des geladenen Datensatzes und dessen Histogramm (5) angezeigt.

2 - Grobbetrachtungen

Der geladene Datensatz kann Schichtweise betrachtet werden. Durch ändern der Betrachtungsrichtung in (3) wird auch der Durchlauf durch die Schichten verändert. Außerdem ist eine MIP Darstellung möglich (Menü View->MIP)
Die Checkbox "Plus" bezieht sich auf eine Schichtdarstellung, in der eine Einfärbung gemäß den Filtern (4) vorgenommen wird.

3 - Betrachtungsrichtung

Es kann eine von 6 (trivial) Ansichten ausgewählt werden.

4 - Filter definieren

Die Filter werden gemäß ihres lower Treshold, higher Treshold, Opacity und zu vergebende Farbe eingegeben. Der Threshold bezieht sich dabei auf die Dichtewerte des geladenen Datensatzes (0..4095), die Opacity ist ein Wert zwischen 0 und 255.
Mittels der Buttons "Add" und "Delete" können einzelne Filter hinzugefügt/gelöscht werden, (6) und (7) vereinfachen die Eingabe der Thresholds.

5 - Histogramm

Das Histogramm zeigt die Verteilung der Dichtedaten im Datensatz an. Durch Bewegen der Maus über dem Histogramm wird in der Statuszeile der Bereich (Values) und die Anzahl (Count) numerisch ausgegeben.

6 - Auswahl im Histogramm

Zur Vereinfachung kann auch im Histogramm selbst durch klicken und ziehen ein Bereich markiert werden.

7 - Filterbereich durch Auswahl

Nach der Auswahl eines Bereichs im Histrogramm (6) kann durch klicken mit der rechten Maustaste ein Menü aufgerufen werden. Selektion von "Assign to filter" ordnet den ausgewählten Bereich dem aktuellen Filter zu. Danach muß nur noch die Opacity und Farbe eingegeben werden.

8 - Rendering

Das Menü View->Render startet den Renderprocess. Die Ausgabe erscheint in einem neuen Fenster - während der Berechnung/Ausgabe können keine weiteren Eingaben im Programm gemacht werden.

9 - Verdrehung

Zusätzlich zu den Trivialansichten kann die Ansicht um einen Winkel gedreht werden - wegen des enormen Rechenaufwands empfiehlt sich das aber erst nachdem alle Filter zufriedenstellend definiert wurden und eine Trivialansicht bereits ein annehmbares Ergebnis gebracht hat.


Beispielbilder

Ansicht: Top X 25° 
Filter Lower Higher Opacity Farbe
1
220 560 20 Gelb
2
1210 1650 100 Rot
3
1620 3060 80 Dunkelrot
4
3100 4095 120 Blau

 
Ansicht: Top X 50° 
Filter Lower Higher Opacity Farbe
1
220 560 20 Gelb
2
1210 1650 100 Rot
3
1620 3060 80 Dunkelrot
4
3100 4095 120 Blau

 
 
Ansicht: Bottom X 60° 
Filter Lower Higher Opacity Farbe
1
600 1000 10 Gelb
2
1200 1600 20 Rot
3
3050 4095 60 Weiß
 

 
Ansicht: Right X 25° 
Filter Lower Higher Opacity Farbe
1
220 560 20 Gelb
2
1210 1650 100 Rot
3
1620 3060 80 Dunkelrot
4
3100 4095 120 Blau


© 1999 Thomas Stockinger