Prof. Dr. Detlef Krömker Goethe-Universität, Frankfurt Graphische Datenverarbeitung Visualisierung...
-
Upload
carsten-stolzman -
Category
Documents
-
view
112 -
download
4
Transcript of Prof. Dr. Detlef Krömker Goethe-Universität, Frankfurt Graphische Datenverarbeitung Visualisierung...
Prof. Dr. Detlef Krömker
Goethe-Universität, FrankfurtGraphische Datenverarbeitung
Visualisierung
Vorlesung 10
WS 2005/20062Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Visualisierung von Volumendaten
WS 2005/20063Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Übersicht
1. Volumendaten: Grundlagen – Begriffsbestimmung
2. Visualisierungspipeline für Volumendaten
3. Methoden der Volumenvisualisierung Dekompositionsmethoden Extraktion von Flächen Direkte Darstellung als semitransparente
Elemente
WS 2005/20064Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
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:MRI-Aufnahme
Beispiel:CT-Aufnahme
WS 2005/20065Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
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 Datengitter Gitter im Raum
WS 2005/20066Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
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
enVolumendat alsman bezeichnet
},...,0;,...,0;,...,0),,(,,,{(
Formder n Datenmenge
.,...,0 ;mit *
;,...,0 ;mit y *
;,...,0 ;mit *
:miterfogt ungPartionier eine dass soten Gitterpunk 1)(n*1)(n*1)(nan betrachtet
]},[];,[];,[|),,({
minmaxmin
minmaxmin
minmaxmin
zyx
maxminmaxminmaxmin
zyxkjikji
zz
i
yy
i
xx
i
nknjnizyxfzyx
nin
zzdzdzizz
nin
yydydiyy
nin
xxdxdxixx
zzzyyyxxxzyxXG
© D
etle
f K
röm
ker
WS 2005/20067Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
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
© D
etle
f K
röm
ker
WS 2005/20068Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
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
WS 2005/20069Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
BeobachtungspunktZentrum der Zelle
Achtung. Die Auswertung erfolgt an nx*ny*nz Punkten.
© D
etle
f K
röm
ker
WS 2005/200610
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
BeobachtungspunktEckpunkt der Zelle
Die Werteverteilung innerhalb der Zelle wird oft durch eine trilineare Interpolation (selten durch eine höherer Ordnung) bestimmt.
C
G H
D
E F
A B
(0,1,0)
(0,1,1) (1,1,1)
(1,1,0)
(0,0,1) (1,0,1)
(0,0,0) (1,0,0)
P
nd.entspreche , yersetzt, x
durch xwird
liegen, ),,(x nKoordinate beliebigen auf H und A Wenn
))()(()1)()((
))()(1()1)()(1(
))(1)(()1)(1)((
))(1)(1()1)(1)(1(
(1,1,1) auf H (0,0,0), Position auf liegtA
HA,...,I I, Eckpunkt am Wertder sein
pp
p
a
pah
a
aa
pppHpppD
pppGpppC
pppFpppB
pppEpppAp
I
zxx
x
zy
zyxWzyxW
zyxWzyxW
zyxWzyxW
zyxWzyxWW
W
© D
etle
f K
röm
ker
WS 2005/200611
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
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:
Richtung-z y-, x-,in ktorenEinheitsve die sind ,, KJImit
Kz
fJ
y
fI
x
ffgrad
zz
yy
xx
s
zyxfzyxfG
s
zyxfzyxfG
s
zyxfzyxfG
2
)1,,()1,,(
;2
),1,(),1,(
;2
),,1(),,1(
Gx, Gy, Gz sind die Komponenten des
Gradienten,sx, sy, sz sind die Schrittweiten des Gitters
© D
etle
f K
röm
ker
WS 2005/200612
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Visualisierungspipeline für Volumendaten
F ilte ring R endering
M app ing
K lass i-fika tion
F lächen-extrak tion
Volum en-daten B ild
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
© D
etle
f K
röm
ker
WS 2005/200613
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
DatenaufbereitungFiltering
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.
© D
etle
f K
röm
ker
WS 2005/200614
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
DatenaufbereitungMapping
Abbildung der Datenwerte auf graphische (visuelle) Attribute
KlassifikationDatenklassen 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)
© D
etle
f K
röm
ker
WS 2005/200615
Visualisierung – Vorlesung 10Prof. Dr. 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“)
© D
etle
f K
röm
ker
WS 2005/200616
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
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
© D
etle
f K
röm
ker
WS 2005/200617
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
QuadermethodeTiny 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:
MMn
zz
MMn
yy
MMn
xx
zz
yy
xx
)1(
)1(
)1(
minmax
minmax
minmax
zzk
yj
xxi
nkMkzz
njMjyy
niMixx
,...,1 und )1(
,...,1 und )1(
,...,1und)1(
0
y0
0
),,( zyx
© D
etle
f K
röm
ker
WS 2005/200618
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
QuadermethodeTiny 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
© D
etle
f K
röm
ker
WS 2005/200619
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Quadermethode (Tiny Cubes Method) Beispiele 11x11x11 Datenwerte
Großes M Kleineres M Kleine Quader, hohe Transparenz größere Quader, geringere Transp.
© D
etle
f K
röm
ker
WS 2005/200620
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Quadermethode (Tiny Cubes Method)
Achtung Kleine Quader sind sehr anfällig für Aliasingartifakte!
© D
etle
f K
röm
ker
WS 2005/200621
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Weitere Beispiele
Tetraeder als Primitive Kugeln als PrimitiveCon: Induzieren Richtungen
© D
etle
f K
röm
ker
WS 2005/200622
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
VarianteTransparente 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!
© D
etle
f K
röm
ker
WS 2005/200623
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Transparente QuadermethodeVanishing Cube Method
Beispiele
Geringe Transparenz Höhere Transparenz
© D
etle
f K
röm
ker
WS 2005/200624
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Dekomposition in SchichtenSlicing
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.
)1(,...,0 mit),,(),(
)1(,...,0 mit ),,(),(
)1(,...,0 mit ),,(),(
zkk
yjj
xii
nkzyxfyxf
njzyxfzxf
nizyxfzyf
© D
etle
f K
röm
ker
WS 2005/200625
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
SlicingBeispiel
© D
etle
f K
röm
ker
WS 2005/200626
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Varianten des Slicing
Anordnung der Schnitt-ebenen geändert.
Zusätzlich werden dieDaten in einem Höhen-feld kodiert.(indirekter Raumbezug)
© D
etle
f K
röm
ker
WS 2005/200627
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
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!
© D
etle
f K
röm
ker
WS 2005/200628
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Extraktion von Flächen: Beispiele
Ebert 2004
WS 2005/200629
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Segmentierung und einfache Approximationen
Alternativen:Ein Schwellwert oder SchwellwertintervallErmittlung 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!
© D
etle
f K
röm
ker
WS 2005/200630
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Extraktion von Flächen aus Zellen
Isoflächen verlaufen beliebig innerhalb einer Zelle
Hauptmethoden: Contouring & Connecting Marching Cube Dividing Cube Marching Tetraeder
© D
etle
f K
röm
ker
WS 2005/200631
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
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!
© D
etle
f K
röm
ker
WS 2005/200632
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
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]
© D
etle
f K
röm
ker
WS 2005/200633
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Marching Cubenach 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
0 0 1 0 0 0 0 0
V1 V2
V3V4
V5 V6
V7V8
außen
außen
außenaußen
außen
außen
außen
© D
etle
f K
röm
ker
WS 2005/200634
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
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!
© D
etle
f K
röm
ker
WS 2005/200635
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
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.
?
© D
etle
f K
röm
ker
WS 2005/200636
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Probleme desMarching Cube - Algorithmus
Bei großvolumigen Daten entstehen sehr viele Dreiecke hoher Speicherbedarf, große Render-ZeitenVerbesserungen: 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.]
© D
etle
f K
röm
ker
WS 2005/200637
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Dividing Cubenach 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)
© D
etle
f K
röm
ker
WS 2005/200638
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
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
Marching Tetraeder
© D
etle
f K
röm
ker
WS 2005/200639
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
ZusammenfassungFlä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
© D
etle
f K
röm
ker
WS 2005/200640
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Direkt e Darstellung als semitransparente Elemente
Volume RenderingMan erhält eine kontinuierliche Darstellung der Datenwerte, einschließlich verschwommener
Grenzen
B ildebene m it x*y P ixe ln
D atenw ürfe l m it N *N *N Vo lum ene lem enten
Volum ene lem en t V (i, j, k)
Strah l
P ixe l (x , y )m it F arbe C x,y
Bildraumverfahren (Volume Ray Casting)FOR each pixel on image plane DO
FOR each sampling point on associated ray DOcompute contribution to pixel;
ObjektraumverfahrenFOR each volume element DO
FOR each pixel projected onto DOcompute contribution to pixel;
© D
etle
f K
röm
ker
WS 2005/200641
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Danksagung
Diese Vorlesung basiert auf Material von Prof. Dr. Detlef Krömker Prof. Dr. Colin Ware Prof. Dr. Wolfgang Müller
WS 2005/200642
Visualisierung – Vorlesung 10Prof. Dr. Detlef Krömker
Hausaufgabe
SM: Kap. 7.2, 7.3, 7.4, 7.5