VIS Exercise #09 (MIP)
Visualisierung Übungsblatt #09 (MIP)
Medical 3D Data: Volume Rendering via MIP
1. MIP:
Stellen Sie Ihre MPR mit Hilfe des Slicer-Moduls “glvertex_slicer.h” auf View-Aligned Slices um und schalten Sie Max-Blending ein, um eine MIP darzustellen (auf Basis von Übungsaufgabe 8.6).
Eine Schnittebene durch einen Tetraeder wird durch einen Aufruf der Funktion lglSlice(v1, v2, v3, v4, o, n) mit entsprechenden Parametern v1-v4, welche die Eckpunkte des Tetraeders repräsentieren, und Parametern o und n, welche die Ebenen-Gleichung der Schicht definieren, gerendert (Fallunterscheidung analog zu Iso-Flächen Extraktion). Eine Schnittebene durch einen Hexaeder wird analog durch einen Aufruf der Funktion lglSlice(v1, v2, v3, v4, v5, v6, v7, v8, o, n) mit entsprechenden Parametern v1-v8, welche die Eckpunkte des Hexaeders repräsentieren, gerendert. Letzteres erfolgt durch Zerlegung des Hexaeders in 5 Tetraeder.
Rendern Sie damit zuerst in der MPR Darstellung eine zusätzlich schief im Volumen liegende Schnittebene, z.B. mit $\vec{o}=(0,0,0)^T$ und $\vec{n}=(1,1,1)^T$.
Rendern Sie danach eine gewisse Anzahl n von Bildebenen-parallelen Schichten durch einen Einheitswürfel wie in der Vorlesung beschrieben (z.B. $\Delta t = 0.01$ → $n \approx 100$, $\vec{n}=(0,0,-1)^T$).
Hinweis: Wenn der Manipulator zum Drehen der MIP verwendet wird, so muss die Normale $\vec{n}$ mit der inversen 3×3 Manipulator-Matrix $M$ transformiert werden:
2. Adaptive Qualität (optional):
Wenn eine gewisse Zeit keine Maus-Interaktion stattgefunden hat (z.b. idle time > 2s), so kann man die Anzahl der Schichten verdoppeln bzw. $\Delta t$ halbieren.
3. DVR (optional):
Probieren wir es doch auch mal mit alpha-Blending:
Die RGB-Komponenten des jeweiligen Fragments entsprechen hier dem Emissionsanteil der Transferfunktion $TF_{rgb}(s)$. Der alpha-Wert des jeweiligen Fragments berechnet sich hier aus dem Absorptionsanteil der Transferfunktion zu $\alpha = TF_{\alpha}(s)$.
Wir wählen für dieses Beispiel eine lineare Transferfunktion sowohl für die Emission als auch für die Absorption, d.h. $TF_{rgb}(s) = (c, c, c) \cdot s$ und $TF_{\alpha}(s) = c \cdot s$ mit einem kleinen Skalierungsfaktor von sagen wir c=0.01 bei 100 Schichten - Genaueres dazu siehe hier.
4. Pre-Integrated DVR (optional, advanced):
Implementieren Sie die Pre-Integration Technik.
Hausaufgaben: Arbeiten Sie den Lehrstoff auf und überlegen Sie Sich Fragen für die nachfolgende Frage-Stunde!
Alle Klarheiten beseitigt - Fin!

