GUI

Das Programm wurde in C++ mit VisualStudio.NET 2005 erstellt, als Graphics-API fand OpenGL Verwendung. Das UserInterface ist mit Qt 4.3 realisiert. Bei den eingesetzten Shadern wurde GLSL verwendet (ShaderModel 3.0).
Entwickelt und getestet wurde das Programm mit GeForce7-Grafikkarten.

Im vorliegenden Programm sind folgende Punkte realisiert:

  • Darstellung der Slices in den Hauptrichtungen X,Y,Z
  • Volumensdarstellung mittels Raycasting
  • Einstellung der Schrittweite durch das 3D-Volumen
  • Einstellbare Transferfunktion
  • Änderung der Beleuchtungsparameter
  • Einstellung des Render-Modus
  • Darstellung des Histograms des jeweils geladenen Datensatzes


Menüleiste

In der Menüleiste gibt es folgende Optionen:

Datei

  • Öffnen (CTRL+O)
  • Schliessen (CTRL+X)
  • Beenden (ALT+F4)

Transferfunktion

  • Laden (CTRL+L)
  • Speichern (CTRL+S)
  • Rücksetzen (CTRL+R)
  • Voreinstellungen für Transferfunktionen

Toolbar

Slider X, Y, Z & Step

Mit den linken drei Slidern werden die Slices der Volumen in X,Y,Z-Richtung angezeigt.
Der Slider "Schrittweite" gibt die Samplingrate entlang des Strahls beim Raycasten an. Dabei wird die Anzahl der diskreten Samplingpunkte entlang des Blickstrahls verändert.
Die maximale Anzahl der Samples (kleine Schrittweite) wird erreicht, wenn der Slider nach ganz oben geschoben wird.

Render-Mode

  • Composition:

    Beim Compositing ist der von Levoy propagierte Front to Back-Algorithmus umgesetzt.

  • Composition mit Phong Shading:

    Zusätzlich zum vorigen Punkt ist das Beleuchtungsmodell nach Phong integriert.

  • MIP:

    Bei der Maximum Intensity Projection (MIP) werden nur die höchsten Dichtewerte (maximum intensity) berücksichtigt.

  • Average (X-Ray):

    Wie beim Röntgen wird entlang des Strahles das Arithmetische Mittel berechnet, wobei diese Dichtewerte, deren Intensität gleich 0.0 ist, nicht mitgezählt werden.

  • Average mit TF:

    Zusätzlich zur o.g. Variante wird die Transferfunktion zur farblichen Hervorhebung der Dichtewerte verwendet.

  • First Hit:

    First Hit bedeutet, dass nach dem erstmaligen erreichen eines bestimmten Schwellwertes der Raycasting-Vorgang abgebrochen wird.

Transferfunktion

Die Transferfunktion lässt ist beim Start des Programmes aktiv und wird in einem gesondertem Fenster dargestellt. Die TF kann auch ausgeblendet werden und mittels Button wieder eingeblendet werden. Die TF besteht aus vier Kanälen (rot, grün, blau, alpha). Mit der Maus können die Punkte so platziert werden, dass ein für das 3D-Volumen geeigneter Farbverlauf und Transparenzwert erreicht wird.
Neue Punkte werden mit der linken Maustaste gesetzt und mit gedrückter linker Maustaste verschoben. Nicht mehr benötigte Punkte können mit der rechten Maustaste gelöscht werden.
Die jeweiligen Anfangs- und Endpunkte der Kanäle können nur entlang der y-Achse zwischen 0.0 und 1.0 verschoben werden. Im Alphakanal wird die Opazität (Sichtbarkeit) der Dichtewerte angegeben.

Kamerasteuerung 3D-View

Die GUI verfügt für den 3D-View über eine Kamerasteuerung. Mit gedrückter linker Maustause oder mittels folgender Tasten kann rotiert werden:

  • w bzw. s ... Drehung um x-Achse
  • q bzw. e ... Drehung um y-Achse
  • a bzw. d ... Drehung um z-Achse