Visualisierung Vorlesung 10 Prof. Dr. Detlef Krömker Goethe-Universität, Frankfurt Graphische Datenverarbeitung Visualisierung von Volumendaten Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 2 WS 2005/2006 Übersicht 1. Volumendaten: Grundlagen – Begriffsbestimmung 2. Visualisierungspipeline für Volumendaten 3. Methoden der Volumenvisualisierung Dekompositionsmethoden Extraktion von Flächen Direkte Darstellung als semitransparente Elemente Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 3 WS 2005/2006 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) Prof. Dr. Detlef Krömker Grundlagen Beispiel: CT-Aufnahme Beispiel: MRI-Aufnahme Visualisierung – Vorlesung 10 4 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 Prof. Dr. Detlef Krömker Datengitter Visualisierung – Vorlesung 10 Gitter im Raum 5 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 G { X ( x, y, z ) | x [ xmin , xmax ]; y [ ymin , ymax ]; z [ zmin , zmax ]} © Detlef Krömker betrachtet an (n x 1) * (n y 1) * (n z 1) Gitterpunk ten so dass eine Partionier ung erfogt mit : xi xmin i * dx mit dx xmax xmin ; nx i 0,..., nx ; yi ymin i * dy mit dy ymax ymin ; ny i 0,..., n y ; zi z min i * dz mit dz zmax zmin ; nz i 0,..., nz . Datenmenge n der Form {( xi , y j , z k , f ( xi , y j , zk ) i 0,..., nx ; j 0,..., n y ; k 0,..., nz } bezeichnet man als Volumendat en Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 6 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. © Detlef Krömker 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 Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 7 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 Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 8 WS 2005/2006 Beobachtungspunkt Zentrum der Zelle © Detlef Krömker Prof. Dr. Detlef Krömker Achtung. Die Auswertung erfolgt an nx*ny*nz Punkten. Visualisierung – Vorlesung 10 9 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. WI sein der Wert am Eckpunkt I, I A,..., H H (1,1,1) G (0,1,1) D (1,1,0) C (0,1,0) A liegt auf Position (0,0,0), H auf (1,1,1) Wp WA (1 x p )(1 y p )(1 zp ) WE (1 x p )(1 y p )( zp ) WB ( x p )(1 y p )(1 zp ) WF ( x p )(1 y p )( zp ) WC (1 x p )( y p )(1 zp ) WG (1 x p )( y p )( zp ) WD ( x p )( y p )(1 zp ) WH ( x p )( y p )( zp ) P © Detlef Krömker E (0,0,1) A (0,0,0) F (1,0,1) B (1,0,0) Prof. Dr. Detlef Krömker Wenn A und H auf beliebigen Koordinate n (x a , y a , za ) liegen, wird x p durch x p xa x h xa ersetzt, y p , zp entspreche nd. Visualisierung – Vorlesung 10 10 WS 2005/2006 Gradientenberechnung Für diverse Aufgaben (z.B. Beleuchtungsrechnung) wird der Gradient der skalaren Funktion f(x,y,z) benötigt: grad f f f f I J K x y z mit I , J , K sind die Einheitsve ktoren in x-, y-, z - Richtung © Detlef Krömker Eigenschaften: Gradienten stehen senkrecht zu den Isoflächen f(x,y,z)=const. I.d.R abgeschätzt durch Zentraldifferenzen: Gx f ( x 1, y , z ) f ( x 1, y , z ) ; 2s x Gy f ( x, y 1, z ) f ( x, y 1, z ) ; 2s y Gz f ( x, y , z 1) f ( x, y , z 1) 2sz Prof. Dr. Detlef Krömker Gx, Gy, Gz sind die Komponenten des Gradienten, sx, sy, sz sind die Schrittweiten des Gitters Visualisierung – Vorlesung 10 11 WS 2005/2006 Visualisierungspipeline für Volumendaten M a p p n i g V o u l m e n F e t l i r n i g d a e t n Datenumfang ä l c h e n K a l s s - F i e n d e r n i gB e x r t a k o i t nR d l i k i f a o i t n in der Regel sehr groß: © Detlef Krömker 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 Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 12 WS 2005/2006 Datenaufbereitung Filtering 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 Datenerfassung Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 13 WS 2005/2006 Datenaufbereitung Mapping Abbildung der Datenwerte auf graphische (visuelle) Attribute Klassifikation © Detlef Krömker 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) Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 14 WS 2005/2006 © Detlef Krömker 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“) Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 15 WS 2005/2006 Dekompositionsmethoden © Detlef Krömker 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 Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 16 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 ( x , y , z ) und Positionen (untere linke Ecke) der Quader bestimmen sich zu: © Detlef Krömker x xmax xmin n x (M 1) M y max y min y ny (M 1) M z x i x0 i x (M 1) und i 1,..., n x y j y 0 j y (M 1) und j 1,..., ny zk z0 k z (M 1) und k 1,..., nz zmax zmin nz (M 1) M Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 17 WS 2005/2006 Quadermethode Tiny Cubes Method (2) © Detlef Krömker 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 Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 18 WS 2005/2006 Quadermethode (Tiny Cubes Method) Beispiele 11x11x11 Datenwerte © Detlef Krömker Großes M Kleineres M Kleine Quader, hohe Transparenz größere Quader, geringere Transp. Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 19 WS 2005/2006 © Detlef Krömker Quadermethode (Tiny Cubes Method) Achtung Kleine Quader sind sehr anfällig für Aliasingartifakte! Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 20 WS 2005/2006 © Detlef Krömker Weitere Beispiele Tetraeder als Primitive Kugeln als Primitive Con: Induzieren Richtungen Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 21 WS 2005/2006 Variante Transparente Quadermethode Vanishing Cube Method 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 Quader Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 22 WS 2005/2006 Transparente Quadermethode © Detlef Krömker Vanishing Cube Method Beispiele Geringe Transparenz Prof. Dr. Detlef Krömker Höhere Transparenz Visualisierung – Vorlesung 10 23 WS 2005/2006 Dekomposition in Schichten Slicing Anstelle der trivariaten Funktion f(x,y,z) werden bivariate Funktionen der Form fi ( y , z ) f ( x i , y , z ) mit i 0,..., (n x 1) f j ( x, z ) f ( x, y j , z ) mit j 0,..., (ny 1) © Detlef Krömker fk ( x, y ) f ( x, y , zk )mit k 0,..., (nz 1) 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. Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 24 WS 2005/2006 © Detlef Krömker Slicing Beispiel Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 25 WS 2005/2006 Varianten des Slicing Anordnung der Schnittebenen geändert. © Detlef Krömker Zusätzlich werden die Daten in einem Höhenfeld kodiert. (indirekter Raumbezug) Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 26 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 Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 27 WS 2005/2006 Extraktion von Flächen: Beispiele Ebert 2004 Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 28 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 © Detlef Krömker Seitenflächen, die einen „innen“ und einen „außen“ Nachbarn haben, approximieren die Isofläche. Contra: Voxelstruktur (Blockstruktur) bleibt deutlich sichtbar! Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 29 WS 2005/2006 Extraktion von Flächen aus Zellen © Detlef Krömker Isoflächen verlaufen beliebig innerhalb einer Zelle Hauptmethoden: Contouring & Connecting Marching Cube Dividing Cube Marching Tetraeder Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 30 WS 2005/2006 Contouring & Connecting Idee: (1) Auf parallelen Schnitten eines Daten-würfels werden 2DIsolinien extrahiert (Verfahren hierzu siehe 7. Gestaltregeln, ...). © Detlef Krömker (2) Benachbarte Ebenen werden durch Dreiecksnetze verbunden. Problem: Bei verschiedenen Kontur-Topologien auf benachbarten Ebenen ist eine eindeutige Verbindung nicht möglich! Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 31 WS 2005/2006 Mehrdeutigkeitsprobleme beim Contouring & Connecting © Detlef Krömker 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] Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 32 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. V7 V8 außen außen V4 V3 innen außen V1 V2 V3 V4 V5 V6 V7 V8 0 0 1 0 0 0 0 0 V6 V5 außen außen © Detlef Krömker V1 außen V2 außen Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 33 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 © Detlef Krömker 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! Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 34 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 ? Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 35 WS 2005/2006 © Detlef Krömker Probleme des Marching Cube - Algorithmus Bei großvolumigen Daten entstehen sehr viele Dreiecke hoher Speicherbedarf, große Render-Zeiten Verbesserungen: Triangle Strips können RenderZeiten 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.] Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 36 WS 2005/2006 Dividing Cube nach Levoy © Detlef Krömker 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) Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 37 WS 2005/2006 Marching Tetraeder Idee: Anstelle eines Würfels wandert ein Tetraeder durch den Datensatz: 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 Pro: Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 38 WS 2005/2006 Zusammenfassung Flächenextraktion © Detlef Krömker Zellkern Prof. Dr. Detlef Krömker Unterstützt insbesondere die Analyse geometrischer und topologischer Eigenschaften Isoflächen lassen sich mit Standard-Graphikbibliotheken effektiv unterstützen Isoflächen lassen sich mit anderen Objekten gemeinsam darstellen Extraktion ist ein vergleichsweise aufwendiger Prozess Festlegung der Schwelle sehr sensible Entscheidung Visualisierung – Vorlesung 10 39 WS 2005/2006 Direkt e Darstellung als semitransparente Elemente Volume Rendering B ild e b e n e m it x*yP ixe ln D a te n w ü rf e lm it N *N *NV o lu m e n e le m e n te n P ixe l (x, y) m it F a rb e C x, y V o lu m e n e le m e n t V (i, j, k) Man erhält eine kontinuierliche Darstellung der Datenwerte, einschließlich verschwommener Grenzen S tra h l © Detlef Krömker 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 compute contribution to pixel; Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 40 WS 2005/2006 Danksagung Diese Vorlesung basiert auf Material von Prof. Dr. Detlef Krömker Prof. Dr. Colin Ware Prof. Dr. Wolfgang Müller Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 41 WS 2005/2006 Hausaufgabe SM: Kap. 7.2, 7.3, 7.4, 7.5 Prof. Dr. Detlef Krömker Visualisierung – Vorlesung 10 42 WS 2005/2006