Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Medizinische Visualisierung Marching Cubes, Triangle Decimation, JAVA 3D.

Ähnliche Präsentationen


Präsentation zum Thema: "Medizinische Visualisierung Marching Cubes, Triangle Decimation, JAVA 3D."—  Präsentation transkript:

1 Medizinische Visualisierung Marching Cubes, Triangle Decimation, JAVA 3D

2 Aufgabenstellung Aus den Schnittbildern des Magnetresonanz- Verfahrens soll ein 3D- Modell generiert werden.

3 Umsetzung 1) Erzeugen einer Oberflächentriangulation mittels Marching Cube Algorithmus. 2) Reduzierung der erzeugten Dreiecke durch einVertex Decimation-Verfahren. 3) Anzeigen der Triangulation durch JAVA 3D.

4 Marching Cube Verfahren zur Volumenvisualisierung. Verfahren zur Volumenvisualisierung. Über einen Schwellwert wird eine Isofläche definiert. Über einen Schwellwert wird eine Isofläche definiert. Diese Isofläche wird durch ein Dreiecksnetz approximiert. Diese Isofläche wird durch ein Dreiecksnetz approximiert. Jeder Bildpunkt wird als Basispunkt eines Würfels betrachtet. Die fehlenden Punkte des Würfels werden durch die Nachbarn des Basispunktes definiert. Jeder Bildpunkt wird als Basispunkt eines Würfels betrachtet. Die fehlenden Punkte des Würfels werden durch die Nachbarn des Basispunktes definiert.

5 Marching Cube Die Bildpunkte werden iterativ durchlaufen und klassifiziert. Die Bildpunkte werden iterativ durchlaufen und klassifiziert. Die 2^8 = 256 möglichen Klassifizierungen lassen sich durch Komplementbildung, Spiegelung und Rotation auf 15 Äquivalenzklassen reduzieren. Die 2^8 = 256 möglichen Klassifizierungen lassen sich durch Komplementbildung, Spiegelung und Rotation auf 15 Äquivalenzklassen reduzieren. Die Triangulierung wird nun anhand einer Tabelle über die jeweilige Äquivalenzklasse bestimmt. Die Triangulierung wird nun anhand einer Tabelle über die jeweilige Äquivalenzklasse bestimmt. Die genaue Position der Knoten und die Dreiecksnormalen werden durch lineare Interpolation berechnet. Die genaue Position der Knoten und die Dreiecksnormalen werden durch lineare Interpolation berechnet.

6 Marching Cube 15 Äquivalenzklassen

7 Reduzierung der Dreiecke Motivation: Motivation: Die Anzahl der beim Marching Cube Algorithmus erzeugten Dreiecke ist in der Regel sehr hoch. Die Anzahl der beim Marching Cube Algorithmus erzeugten Dreiecke ist in der Regel sehr hoch. Reduzierungsmethoden: Reduzierungsmethoden: Reduzierung der Dreiecke durch Reduzierung der… Knoten Knoten Kanten Kanten Dreiecke Dreiecke Flächen Flächen

8 Reduzierung der Knoten Nicht jeder Knoten ist zum Entfernen geeignet. Nicht jeder Knoten ist zum Entfernen geeignet. Kriterien für das Entfernen: Kriterien für das Entfernen: darf kein äußerer Knoten sein, d.h. darf kein äußerer Knoten sein, d.h. Knoten muß an mehr als zwei Dreiecke grenzen Knoten muß an mehr als zwei Dreiecke grenzen das entstehende Loch muß ein geschlossenes Polygon sein das entstehende Loch muß ein geschlossenes Polygon sein Die inzidenten Knoten müssen ungefähr auf einer Ebene liegen, d.h. sie müssen koplanar sein. Die inzidenten Knoten müssen ungefähr auf einer Ebene liegen, d.h. sie müssen koplanar sein.

9 Koplanarität der Knoten Berechnung der Hauptkomponenten der Knotenmenge. Berechnung der Hauptkomponenten der Knotenmenge. Koplanarität gilt gdw. eine Hauptkomponente sehr viel kleiner ist, als die beiden Anderen. Koplanarität gilt gdw. eine Hauptkomponente sehr viel kleiner ist, als die beiden Anderen.

10 Triangulation (Ear Cutting) Durch Entfernen eines Knotens entsteht ein sternförmiges Polygon. Durch Entfernen eines Knotens entsteht ein sternförmiges Polygon. Die Triangulierung erfolgt durch sukzessives Entfernen der Ohren des Polygons. Die Triangulierung erfolgt durch sukzessives Entfernen der Ohren des Polygons.

11 JAVA 3D Java-API zur Erstellung, Darstellung und Animation von 3D-Szenen Java-API zur Erstellung, Darstellung und Animation von 3D-Szenen bietet komplexe Datenstrukturen zur Erstellung von animierten und interaktiven virtuellen Welten bietet komplexe Datenstrukturen zur Erstellung von animierten und interaktiven virtuellen Welten nutzt OpenGL- bzw. Direct3D-Schnittstellen für schnelle Darstellung nutzt OpenGL- bzw. Direct3D-Schnittstellen für schnelle Darstellung

12 JAVA 3D: SceneGraph Der SceneGraph ist die zentrale Datenstruktur (Baum) für die Visualisierung der virtuellen Welt. Der SceneGraph ist die zentrale Datenstruktur (Baum) für die Visualisierung der virtuellen Welt. Baumstruktur bestehend aus Knoten und Kanten. Baumstruktur bestehend aus Knoten und Kanten. - Knoten können 3D-Objekte, Lichtquellen, Sounds oder Behaviors sein - Kanten sind entweder Eltern- Kind oder Referenz- Beziehung.

13 Unser SceneGraph BG BoundingSphere Canvas3D Shape3D (TriangleArray) PickRotateBehavior PickZoomBehavior PickTranslateBehavior BranchGroup SPXB

14 #Dreiecke: 7280 #Iterationen: 0

15 #Dreiecke: 2656 #Iterationen: 1

16 #Dreiecke: 1992 #Iterationen: 2

17 #Iterationen: 10 #Dreiecke: 883

18 #Dreiecke: #Schichten: 21 #Iterationen: 0

19 #Dreiecke: #Iterationen: 1 #Schichten: 21


Herunterladen ppt "Medizinische Visualisierung Marching Cubes, Triangle Decimation, JAVA 3D."

Ähnliche Präsentationen


Google-Anzeigen