Visualisierung - Professur Graphische Datenverarbeitung

Werbung
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
Herunterladen