Visualisierung Vorlesung 10
Visualisierung von Volumendaten Visualisierung – Vorlesung 10 WS 2005/2006
Volumendaten: Grundlagen – Begriffsbestimmung Übersicht Volumendaten: Grundlagen – Begriffsbestimmung Visualisierungspipeline für Volumendaten Methoden der Volumenvisualisierung Dekompositionsmethoden Extraktion von Flächen Direkte Darstellung als semitransparente Elemente Visualisierung – Vorlesung 10 WS 2005/2006
Grundlagen Visualisierung von Volumendaten Kurzbezeichnung: Volumenvisualisierung Ausgangspunkt: Merkmale in einem 3-dim. Bezugssystem mit skalaren Daten Vergleichsweise häufiger Datenfall Beispiele Computertomographie (CT) Magnetresonanztomographie (NMR, MRT, MRI) 3D-Ultraschall Laserraster- bzw. Elektronenraster-Mikroskope Simulationen Berechnungen, z.B. Finite Elemente (FE) Beispiel: CT-Aufnahme Beispiel: MRI-Aufnahme Visualisierung – Vorlesung 10 WS 2005/2006
Repräsentation von Volumendaten Volumendaten i.A. basierend auf regelmäßigen Gittern Koordinaten der Gitterpunkte implizit und müssen nicht explizit gespeichert werden Speicherung in dreidimensionalen Arrays Ausgangsdaten Gitter im Raum Datengitter Visualisierung – Vorlesung 10 WS 2005/2006
Begriffsbestimmung „Volumendaten“ In der Literatur nicht einheitlich benutzt; doch oft: Ein skalarer Wert pro Beobachtungspunkt in einem 3-dimensionalen räumlichen Bezugssystem (oft mit lokalen Wirkungskreis) oft weiterhin: regelmäßiges 3D-Gitter: also eine Funktion f auf dem Gebiet © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Begriffsbestimmung „Voxel“ Eine Gitterzelle bezeichnen wir als Volumenelement = Voxel Manche Autoren unterscheiden, je nachdem ob die Funktion f(x,y,z) als kontinuierlich oder stückweise konstant(= homogen) angenommen wird. Oft besser als Abtastwert gemäß der Abtasttheorie betrachten! Beobachtungspunkte können sein: Zentrum einer Zelle: 1 Datenpunkt pro Zelle Eckpunkt einer Zelle: 8 Datenpunkte pro Zelle © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Beispiel: Volumendaten Visible Human Project MRI- und CT-Daten eines Mannes und einer Frau in hoher Auflösung 15 GB (Visual Human Male) bzw. 40 GB (Visual Human Female) http://www.nlm.nih.gov/research/visible/visible_human.html Visualisierung – Vorlesung 10 WS 2005/2006
Beobachtungspunkt Zentrum der Zelle Achtung. Die Auswertung erfolgt an nx*ny*nz Punkten. © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Beobachtungspunkt Eckpunkt der Zelle Die Werteverteilung innerhalb der Zelle wird oft durch eine trilineare Interpolation (selten durch eine höherer Ordnung) bestimmt. G (0,1,1) H (1,1,1) C D (0,1,0) (1,1,0) P E (0,0,1) F (1,0,1) A (0,0,0) B (1,0,0) © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Gradientenberechnung Für diverse Aufgaben (z.B. Beleuchtungsrechnung) wird der Gradient der skalaren Funktion f(x,y,z) benötigt: Eigenschaften: Gradienten stehen senkrecht zu den Isoflächen f(x,y,z)=const. I.d.R abgeschätzt durch Zentraldifferenzen: Gx, Gy, Gz sind die Komponenten des Gradienten, sx, sy, sz sind die Schrittweiten des Gitters © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Visualisierungspipeline für Volumendaten Datenumfang in der Regel sehr groß: Datenwürfel von nur 64 x 64 x 64 Voxel entsprechen mit 4Byte/Voxel 1 MByte Daten 512 x 512 x 512 Voxel entsprechend 512 MByte © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Datenaufbereitung Filtering Datenerfassung und -konvertierung in geeignete Formate, Datenvervollständigung, Datenreduktion und Überführung von skalaren Daten in einem räumlichen Bezugssystem auf ein regelmäßiges Gitter. © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Datenaufbereitung Mapping Abbildung der Datenwerte auf graphische (visuelle) Attribute Klassifikation Datenklassen werden Grauwert, Farbwerte oder Transparenzwerte zugeordnet z.B. mit LUTs Sehr sensibler Schritt: Potentiell fehlerinduzierend! [Drebbin, Levoy] schlagen deshalb Fuzzy-Klassen vor: Datenwert wird eine Zugehörwahrscheinlichkeit zu einem Attributwert zugeordnet, nicht der Attributwert selbst. Ergebnis kann gerendert werden direkte Darstellung oder Flächenextraktion (Ermittlung von Isoflächen) © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Strategien zur Volumenvisualisierung Dekomposition der Datenmenge in Punkte, Volumenelemente oder Schichten und Darstellung dieser Elemente Flächenextraktion, i.d.R Isoflächen und Darstellung dieser Flächen Darstellung als semitransparente Objekte („Wolken“) © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Dekompositionsmethoden Einfachste Variante: Darstellung der Gitterpunkte als farbige, ggf. transparente Pixel Pro: Einfach, schnell Con: durch die Winzigkeit der Primitive ist die Interpretation schwierig und die Interpretation eingeschränkt Quadermethode © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Quadermethode Tiny Cubes Method Für jedes Volumenelement wird ein kleiner Quader bestimmt. Zwischen diesen Quadern wird ein Abstand M belassen, um ins innere des Volumen schauen zu können. Die Abmaße und Positionen (untere linke Ecke) der Quader bestimmen sich zu: © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Quadermethode Tiny Cubes Method (2) Jedem Eckpunkt ist ein Farbwert zugeordnet. Die Quaderflächen werden Gouraud-schattiert ausgegeben. Anstelle von Quadern lassen sich auch andere Primitive für die Zellen nutzen: Kugeln, Tetraeder © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Quadermethode (Tiny Cubes Method) Beispiele 11x11x11 Datenwerte Großes M Kleineres M Kleine Quader, hohe Transparenz größere Quader, geringere Transp. © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Quadermethode (Tiny Cubes Method) Achtung Kleine Quader sind sehr anfällig für Aliasingartifakte! © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Weitere Beispiele Tetraeder als Primitive Kugeln als Primitive Con: Induzieren Richtungen © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Variante Transparente Quadermethode Vanishing Cube Method Quader werden mit transparenten Seiten gerendert: Aus je vier Gitterpunkte werden semitransparente Polygone Probleme mit z-Buffer Sichtbarkeitsbestimmung Back-to-Front-Order Ausgabe nötig! © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Transparente Quadermethode Vanishing Cube Method Beispiele Geringe Transparenz Höhere Transparenz © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Dekomposition in Schichten Slicing Anstelle der trivariaten Funktion f(x,y,z) werden bivariate Funktionen der Form dargestellt. Die Schnittebenen können i.d.R. interaktiv ausgewählt (verschoben) werden. Man nennt sie manchmal auch Sweeping Planes. Wird sehr häufig genutzt. Haben in vielen Anwendungsfeldern lange Tradition. © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Slicing Beispiel Visualisierung – Vorlesung 10 WS 2005/2006 © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Varianten des Slicing Anordnung der Schnitt- ebenen geändert. Zusätzlich werden die Daten in einem Höhen- feld kodiert. (indirekter Raumbezug) © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Extraktion von Flächen Typischerweise werden Isoflächen (Positionen eines bestimmten Datenwertes (Schwellwertes)) extrahiert. Topologische und geometrische Eigenschaften werden offensichtlich Flächeninhalte oder Volumina können einfach abgeschätzt werden. Wahl des Schwellwertes (und damit die Segmentierung) beeinflusst das Ergebnis sehr stark! Ist kritisch! Sehr leicht können u.U. auch falsche Interpretationen suggeriert werden! © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Extraktion von Flächen: Beispiele Ebert 2004 Visualisierung – Vorlesung 10 WS 2005/2006
Segmentierung und einfache Approximationen Alternativen: Ein Schwellwert oder Schwellwertintervall Ermittlung von drei Klassen innen - auf - außen Alle „auf“ Voxel repräsentieren eine grobe Approximation der Isofläche. Ermittlung von nur zwei Klassen (numerisch stabiler) innen – außen Seitenflächen, die einen „innen“ und einen „außen“ Nachbarn haben, approximieren die Isofläche. Contra: Voxelstruktur (Blockstruktur) bleibt deutlich sichtbar! © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Extraktion von Flächen aus Zellen Isoflächen verlaufen beliebig innerhalb einer Zelle Hauptmethoden: Contouring & Connecting Marching Cube Dividing Cube Marching Tetraeder © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Contouring & Connecting Idee: (1) Auf parallelen Schnitten eines Daten-würfels werden 2D-Isolinien extrahiert (Verfahren hierzu siehe 7. Gestaltregeln, ...). (2) Benachbarte Ebenen werden durch Dreiecksnetze verbunden. Problem: Bei verschiedenen Kontur-Topologien auf benachbarten Ebenen ist eine eindeutige Verbindung nicht möglich! © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Mehrdeutigkeitsprobleme beim Contouring & Connecting Interaktive Nutzereingabe zur Spezifikation von Konturen, die miteinander verknüpft werden sollen Unterteilung der Bereiche mit Mehrdeutigkeiten und Versuch der Problemlösung in abgegrenzten Gebieten Verwendung von Kostenfunktionen als Entscheidungsgrundlage Einbeziehung weiterer Eigenschaften der Konturen wie Form, Konvexität oder Orientierung. Eine gute Übersicht und Details hierzu finden sich bei [Müller und Klingert] © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Marching Cube nach Lorensen und Cline 87 Idee: Ein Würfel (Quader) wandert im Datenwürfel von Zelle zu Zelle. Die Eckpunkte der Zellen werden gemäß der Schwelle klassifiziert (innen – außen). Die Schnittpunkte Isofläche/Würfelkante werden durch lineare Interpolation ermittelt und zu Flächen verbunden. innen V1 V2 V3 V4 V5 V6 V7 V8 1 außen © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Klassische Fallunterscheidungen beim Marching Cube Die Bitbelegung im Klassifizierungsvektor bestimmt das Flächenbild: die 256 möglichen Belegungen repräsentieren 15 verschiedene Topologien Theoretisch nicht ausreichend: Fälle 3, 6, 7, 10, 12, 13 sind nicht eindeutig Trotzdem: Für visuelle Auswertungen bei großen Datensätzen ausreichend! © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Mehrdeutigkeiten bei der klassischen Fallunterscheidung Fall 3: zwei Möglichkeiten für die Konstruktion der Kanten Lösung: Ein weiterer Datenpunkt in der Mitte der Fläche wird durch Interpolation ermittelt und auch klassifiziert. Lage der Flächen werden eindeutig. © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Probleme des Marching Cube - Algorithmus Bei großvolumigen Daten entstehen sehr viele Dreiecke hoher Speicherbedarf, große Render-Zeiten Verbesserungen: Triangle Strips können Render-Zeiten reduzieren. Reduzierung der Anzahl der Dreiecke durch Zusammenfassungen (Simplification) , z.B. anhand der Größe der Dreiecke, des Unterschiedes der Flächennormalen, etc. Viele verschiedene Algorithmen bekannt: z.B. [Klein, et.al], [Shekar et.al.] © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Dividing Cube nach Levoy Idee: Anstelle von Dreiecken werden Oberflächenpunkte erzeugt. 1. Schritt: Klassifizierung von Zellen in: Innen-Zelle: Alle in der Zelle präsenten Datenwerte sind kleiner als der gegebene Schwellwert; Außen-Zelle: Alle in der Zelle präsenten Datenwerte sind größer als der gegebene Schwellwert und Oberflächenzelle: die durch den Schwellwert spezifizierte Isofläche schneidet die Zelle. 2. Alle Oberflächenzellen werden rekursiv unterteilt und und erneut klassifiziert. Datenpunkte werden durch trilineare Interpolation ermittelt. 3. Oberflächenzellen nach dem letzten Unterteilungsschritt werden als Oberflächenpunkte aufgefasst. Hierfür werden Normalen berechnet (z.B. durch Zentraldifferenzen) © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Marching Tetraeder Idee: Anstelle eines Würfels wandert ein Tetraeder durch den Datensatz: Pro: Nur drei Fälle müssen unterschieden werden max. zwei Dreiecke/Tetraeder keine Mehrdeutigkeiten Con: Resampling auf Tetraedergitter nötig Manchmal, z.B. bei Berechnungen/Simulationen lassen sich die Beobachtungspunkte frei wählen © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Zusammenfassung Flächenextraktion Unterstützt insbesondere die Analyse geometrischer und topologischer Eigenschaften Isoflächen lassen sich mit Standard-Graphikbibliotheken effektiv unterstützen Isoflächen lassen sich mit an-deren Objekten gemeinsam darstellen Extraktion ist ein vergleichs-weise aufwendiger Prozess Festlegung der Schwelle sehr sensible Entscheidung Zellkern © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Direkt e Darstellung als semitransparente Elemente Volume Rendering Man erhält eine kontinuierliche Darstellung der Datenwerte, einschließlich verschwommener Grenzen Bildraumverfahren (Volume Ray Casting) FOR each pixel on image plane DO FOR each sampling point on associated ray DO compute contribution to pixel; Objektraumverfahren FOR each volume element DO FOR each pixel projected onto DO © Detlef Krömker Visualisierung – Vorlesung 10 WS 2005/2006
Diese Vorlesung basiert auf Material von Danksagung Diese Vorlesung basiert auf Material von Prof. Dr. Detlef Krömker Prof. Dr. Colin Ware Prof. Dr. Wolfgang Müller Visualisierung – Vorlesung 10 WS 2005/2006
Hausaufgabe SM: Kap. 7.2, 7.3, 7.4, 7.5 Visualisierung – Vorlesung 10 WS 2005/2006