Medizinische Visualisierung Marching Cubes, Triangle Decimation, JAVA 3D.
-
Upload
caecilia-abt -
Category
Documents
-
view
127 -
download
2
Transcript of Medizinische Visualisierung Marching Cubes, Triangle Decimation, JAVA 3D.
Medizinische Medizinische VisualisierungVisualisierung
Marching Cubes, Triangle Marching Cubes, Triangle Decimation, JAVA 3DDecimation, JAVA 3D
AufgabenstellungAufgabenstellung
Aus den Aus den Schnittbildern des Schnittbildern des Magnetresonanz-Magnetresonanz-Verfahrens soll ein Verfahrens soll ein 3D-Modell 3D-Modell generiert werden.generiert werden.
UmsetzungUmsetzung
1)1) Erzeugen einer Erzeugen einer Oberflächentriangulation mittels Oberflächentriangulation mittels Marching CubeMarching Cube Algorithmus. Algorithmus.
2)2) Reduzierung der erzeugten Reduzierung der erzeugten Dreiecke durch ein „Dreiecke durch ein „Vertex Vertex DecimationDecimation“-Verfahren.“-Verfahren.
3)3) Anzeigen der Triangulation durch Anzeigen der Triangulation durch JAVA 3D.JAVA 3D.
Marching CubeMarching Cube Verfahren zur Verfahren zur
Volumenvisualisierung.Volumenvisualisierung. Über einen Schwellwert Über einen Schwellwert
wird eine Isofläche wird eine Isofläche definiert.definiert.
Diese Isofläche wird durch Diese Isofläche wird durch ein Dreiecksnetz ein Dreiecksnetz approximiert.approximiert.
Jeder Bildpunkt wird als Jeder Bildpunkt wird als Basispunkt eines Würfels Basispunkt eines Würfels betrachtet. Die fehlenden betrachtet. Die fehlenden Punkte des Würfels werden Punkte des Würfels werden durch die Nachbarn des durch die Nachbarn des Basispunktes definiert.Basispunktes definiert.
Marching CubeMarching Cube Die Bildpunkte werden iterativ durchlaufen und Die Bildpunkte werden iterativ durchlaufen und
klassifiziert. klassifiziert. Die 2^8 = 256 möglichen Klassifizierungen lassen Die 2^8 = 256 möglichen Klassifizierungen lassen
sich durch Komplementbildung, Spiegelung und sich durch Komplementbildung, Spiegelung und Rotation auf 15 Äquivalenzklassen reduzieren.Rotation auf 15 Äquivalenzklassen reduzieren.
Die Triangulierung wird nun anhand einer Tabelle Die Triangulierung wird nun anhand einer Tabelle über die jeweilige Äquivalenzklasse bestimmt.über die jeweilige Äquivalenzklasse bestimmt.
Die genaue Position der Knoten und die Die genaue Position der Knoten und die Dreiecksnormalen werden durch lineare Dreiecksnormalen werden durch lineare Interpolation berechnet.Interpolation berechnet.
Marching CubeMarching Cube15 Äquivalenzklassen
Reduzierung der Reduzierung der DreieckeDreiecke
Motivation:Motivation: Die Anzahl der beim Marching Cube Die Anzahl der beim Marching Cube
Algorithmus erzeugten Dreiecke ist in der Algorithmus erzeugten Dreiecke ist in der Regel sehr hoch.Regel sehr hoch.
Reduzierungsmethoden:Reduzierungsmethoden:Reduzierung der Dreiecke durch Reduzierung Reduzierung der Dreiecke durch Reduzierung
der…der… KnotenKnoten KantenKanten DreieckeDreiecke FlächenFlächen
Reduzierung der KnotenReduzierung der Knoten Nicht jeder Knoten ist Nicht jeder Knoten ist
zum Entfernen geeignet.zum Entfernen geeignet. Kriterien für das Kriterien für das
Entfernen:Entfernen: darf kein äußerer Knoten darf kein äußerer Knoten
sein, d.h. sein, d.h. Knoten muß an mehr als Knoten muß an mehr als
zwei Dreiecke grenzenzwei Dreiecke grenzen das entstehende Loch muß das entstehende Loch muß
ein geschlossenes Polygon ein geschlossenes Polygon seinsein
Die inzidenten Knoten Die inzidenten Knoten müssen „ungefähr“ auf müssen „ungefähr“ auf einer Ebene liegen, d.h. sie einer Ebene liegen, d.h. sie müssen müssen koplanarkoplanar sein. sein.
Koplanarität der KnotenKoplanarität der Knoten
Berechnung der Berechnung der HauptkomponenteHauptkomponenten der n der Knotenmenge.Knotenmenge.
Koplanarität gilt Koplanarität gilt gdw. eine gdw. eine Hauptkomponente Hauptkomponente sehr viel kleiner sehr viel kleiner ist, als die beiden ist, als die beiden Anderen.Anderen.
Triangulation Triangulation (Ear Cutting)(Ear Cutting)
Durch Entfernen eines Knotens entsteht Durch Entfernen eines Knotens entsteht ein sternförmiges Polygon.ein sternförmiges Polygon.
Die Triangulierung erfolgt durch Die Triangulierung erfolgt durch sukzessives Entfernen der Ohren des sukzessives Entfernen der Ohren des Polygons.Polygons.
JAVA 3DJAVA 3D
Java-API zur Erstellung, Darstellung Java-API zur Erstellung, Darstellung und Animation von 3D-Szenenund Animation von 3D-Szenen
bietet komplexe Datenstrukturen zur bietet komplexe Datenstrukturen zur Erstellung von animierten und Erstellung von animierten und interaktiven virtuellen Welteninteraktiven virtuellen Welten
nutzt OpenGL- bzw. Direct3D-nutzt OpenGL- bzw. Direct3D-Schnittstellen für schnelle Schnittstellen für schnelle DarstellungDarstellung
JAVA 3D: SceneGraphJAVA 3D: SceneGraph Der SceneGraph ist die Der SceneGraph ist die
zentrale Datenstruktur zentrale Datenstruktur (Baum) für die (Baum) für die Visualisierung der Visualisierung der virtuellen Welt.virtuellen Welt.
Baumstruktur bestehend Baumstruktur bestehend aus Knoten und Kanten. aus Knoten und Kanten. - Knoten können 3D-Objekte, Knoten können 3D-Objekte,
Lichtquellen, Sounds oder Lichtquellen, Sounds oder Behaviors seinBehaviors sein
- Kanten sind entweder Kanten sind entweder Eltern-Kind oder Referenz-Eltern-Kind oder Referenz-Beziehung.Beziehung.
Unser SceneGraphUnser SceneGraph
BG
BoundingSphere
Canvas3D
Shape3D(TriangleArray)
PickRotateBehaviorPickZoomBehaviorPickTranslateBehavior
BranchGroup
SPXB
#Dreiecke:7280
#Iterationen:0
#Dreiecke:2656
#Iterationen:1
#Dreiecke:1992
#Iterationen:2
#Iterationen:10
#Dreiecke:883
#Dreiecke:52608
#Schichten:21
#Iterationen:0
#Dreiecke:13168
#Iterationen:1
#Schichten:21