Indirect Volume Visualization Flashcards
Was sind indirekte Methoden der Volume Visualization?
Berechnen und rendern von (iso-)surfaces innerhalb eines scalar fields (ähnlich zu isolines)
Was sind direkte Methoden der Volume Visualization?
Betrachte das scalar field als ein transparentes Medium und verwende physikalisch basierte Intensitätsberechnung entlang von Strahlen (Volume Ray-casting)
Wofür braucht man Medical Imaging?
Medical Imaging unterstützt die Diagnostizierung und Behandlungsplanung
Welche Arten von bildgebenden Verfahren werden in der Medizin angewandt?
- Computer Tomography (CT): verwendet Röntgenbilder um ein 3D Volumen zu rekonstruieren
- Magnetic Resonance Tomography (MRT): regt Wasserstoffatome zur Aussendung einer Radiofrequenz an
- Ultraschall
Was sind 3D Isosurfaces?
Isosurfaces sind die 3D analogen Isolines: Flächen, mit einem konstanten scalar Value
Wie lautet der Ansatz zur Berechnung von Isosurfaces?
- Wähle einen Isovalue
- Betrachte die (quaderförmigen) Zellen, die aus acht Datenpunkten bestehen
- Klassifiziere jeden Eckpunkt als + oder - je nachdem, ob dieser Datenwert in diesem Punkt höher oder niedriger als der Isovalue ist
- Berechne, wo die Isofläche die Edges schneidet
- Berechne Triangulation
Wie lautet die Basis Idee vom Marching Cubes Algorithmus?
- Jede Zelle hat 8 Vertices
- Jeder Vertex kann entweder als + oder - klassifiziert werden
- 256 Möglichkeiten
- Jede Zell-Konfiguration hat einen bestimmten Index
- Für jeden gegebenen Index kann die Triangulation in einer LUT nachgeschaut werden
- Nachdem man Symmetrie und Rotation vernachlässigt, gibt es noch 15 verschiedene Fälle
Wann ist ein face ambiguous im Marching Cubes Algorithmus?
- Wenn das Isosurface alle seine Kanten schneidet
- Wenn man n ambiguous faces hat, resultieren darauf 2^n mögliche Triangulationen
Wie lautet der generelle Ansatz, wenn wir ein ambiguous face betrachten?
- Verwendung eines 2D Decider, um über die Schnittkanten zu entscheiden
- Trianguliere die resultierenden Randedges
Wie lautet der Marching Cubes Algorithmus?
- Berechne den Index anhand der Vorzeichen der Eckpunkte unter Verwendung des Isovalues
- Berechne Schnittpunkte aller Edges mit unterschiedlichem Vorzeichen
- Unterschiedliche Behandlung je nachdem ob Zelle eindeutig ist (Nachschlagen von Dreiecksdaten in der LUT) oder wenn Zelle mehrdeutig ist
Wie lautet der Marching Cubes Algorithmus, wenn eine Zelle mehrdeutig ist?
- Nachschlagen der mehrdeutigen faces in der LUT
- Für jedes mehrdeutige face: Treffe eine Entscheidung mit Hilfe des midpoint oder asymptotic deciders
- Berechne sekundären Index auf Basis der mehrdeutigen Entscheidung
- Nachschlagen der Dreiecksdaten in der sekundären LUT
Wie lautet die Erweiterung des Marching Cubes Algorithmus?
Da die extrahierten Flächen beleuchtet werden, müssen wir die Normalenvektoren berechnen
Welche zwei Methoden gibt es zur Berechnung der Normalenvektoren für den Marching Cubes Algorithmus?
- Berechne den Normalenvektor unter Verwendung der Dreieckspunkte erzeugt durch Marching Cubes (per face oder per vertex)
- Berechne den Gradientenvektor des scalar fields für jeden Vertex während der Berechnung der Isosurfaces unter Verwendung von central differences und Interpolation an den Schnittpunkten
Was sind die Schwächen des Marching Cubes Algorithmus?
- Der Algorithmus erzeugt eine Menge sehr kleiner Dreiecke
- Relativ lange Berechnungszeit (Viel Zeit wird für die Berechnung leerer Zellen verwendet)
Welche Methoden zur Beschleunigung für den Marching Cubes Algorithmus gibt es?
- Hierarchical grids können verwendet werden, um die minimalen und maximalen scalar values pro Hierarchieknoten zu speichern, so dass Knoten, die keine Werte enthalten verworfen werden können
- Contour tracing
Wie lautet die Herausforderung für Surface Reconstruction from Contours?
Die Herausforderung ist, dass wir in vielen Anwendungen die Oberfläche aus einem Volumendatensatz extrahieren müssen, das kein Isosurface ist
Was ist ein Beispiel für Surface Reconstruction from Contours?
- Contour-based Segmentation
- Man braucht eine Repräsentation von z.B. dem Gehirn aus den Daten
- Eine Segmentierungsmethode liefert die Kontur des Objektes auf jedem Volume Slice
- Die Oberfläche des Objekts muss durch diese vielen Konturlinien rekonstruiert werden
Welche drei Probleme muss man bei der Surface Reconstruction beachten?
- Correspondance
- Tiling
- Branching
Was ist das Problem der Correspondance?
Welche Kontur des einen Layers gehört zu welcher Kontur im nächsten Layer
Was ist das Problem des Tilings?
Nachdem man zwei zusammengehörige Konturen gefunden hat, wie konstruiert man die Mantelfläche zwischen den Konturen
Was ist das Problem des Branchings?
Wenn eine Kontur sich im nächsten Layer in zwei Konturen aufteilt, wie konstruiert man eine Oberfläche im Falle einer solchen Verzweigung
Wie lautet der einfachste Ansatz um automatische Correspondance zwischen den Layern zu finden?
Platziere die Konturen übereinander und berechne die Überschneidung -> Verbinde die Konturen, die maximale Überschneidungen besitzen
Warum ist es auf realen Daten schwieriger die Correspondance zu bestimmen?
Reale Daten sind schwieriger und das Ergebnis basiert stark auf der Auflösung der Daten
Welche zwei Hauptprobleme können bei der Correspondance auftreten?
- Kein Overlap
- Ungewollter Overlap
Was ist beim Tiling gegeben?
Zwei korrespondierende Konturen auf benachbarten Layern
Was ist das Ziel beim Tiling?
Finden einer Triangulation der Oberfläche, die die Summe der Kantenlänge minimiert
Wie ist der Ablauf beim Tiling?
- Identifiziere kürzeste Edge zwischen Konturpunkten
- Betrachte die nächsten zwei Optionen (vertikal und horizontal)
- Die Oberfläche ist äquivalent zu dem Pfad durch den Graphen
Was ist die Herausforderung beim Branching?
Wie können wir eine Oberfläche für Verzweigungen konstruieren
Wie lautet die einfachste Methode fürs Branching?
Verbinde die getrennten Konturen mit einer “virtuellen” Edge (Verdopplung der zwei Vertices)