VisExercises

Exercise #03

Visualisierung Übungsblatt #03


Medical 3D Data: 3D Texturing & MPR



1. 3D Texturen:

VIS-YPlane

Starten Sie mit dem Wireframe-Würfel aus der letzten Übung. Laden Sie die Volumendaten in eine 3D Textur. Verwenden Sie lglCreateTexture3D & lglTexture3D analog zu lglCreateTexture2D & lglTexture2D.

Zeichnen Sie eine horizontale Schicht durch den Urspung analog zur Vorlesung.


2. MPR:

VIS-MPR

Realisieren Sie eine einfache MPR Darstellung mit drei achsenparallelen Schichten.


3. Thresholding:

VIS-MPRa

Verwenden Sie einen Alpha-Test, um Skalarwerte, die nahezu 0 sind, auszublenden:

lglAlphaTest(true, 0.01);

Dokumentieren Sie den Unterschied abschließend mit einem Screenshot.


4. Interaktion (optional):
Überladen Sie die Methode mouseMoveEvent(QMouseEvent *event) der QLGLWindow Klasse, greifen Sie in der Event-Struktur die X- und Y-Koordinaten der Maus ab und verändern Sie damit die Positionen der Schichten der MPR-Darstellung entsprechend, wenn die rechte Maustaste gedrückt ist (linke Maustaste rotiert).


Hausaufgaben:
Ein reguläres Gitter mit 3×3 Gitterpunkten enthalte Skalarwerte im normalisierten Bereich von 0–1. Der innere Skalarwert sei 0.75, die restlichen seien 0 bis auf einen mit 1.

  • Berechnen Sie mit bilinearer Interpolation den Skalarwert in der Mitte einer Gitterzelle (beliebig).
  • Berechnen Sie den Schnittpunkt der Isokontur zum Isowert 0.5 mit einer Kante (beliebig). Verwenden Sie dazu lineare Interpolation (Formel).
  • Zeichnen Sie die Isokontur zum Isowert 0.5.
  • Zeichnen Sie den Level-Set zu den Isowerten 0.25, 0.5 und 0.75.
  • Zeichnen Sie eine dazu passende Transferfunktion.

Options: