Visualisierung II 5. Skalartopologie - IWR Heidelberg

Werbung
Visualisierung II
5. Skalartopologie
Vorlesung: Mi, 9:15 – 10:45, INF 368 – 532
Prof. Dr. Heike Jänicke – http://www.iwr.uni-heidelberg.de/groups/CoVis/
Inhaltsverzeichnis
1. Daten in Biologie und Medizin
2. Volumenvisualisierung
3. Daten in Umwelt- und Technikwissenschaften
4. Raumteilungsverfahren
5. Topologische Verfahren
6. Analyse von Multivariaten Daten und Zeitreihen
7. Informationstheoretische Verfahren
Visualisierung II – 5. Skalartopologie
2
Inhaltsverzeichnis
5. Skalartopologie
1. Isolinien und Isoflächen
1. Der Marching Cubes Algorithmus
2. Effiziente Berechnung im Spannraum (span space)
2. Das Konturspektrum
3. Theoretische Grundlagen
1. Topologie
2. Triangulierung und Simplizialkomplexe
3. Morse-Theorie
4. Der Konturbaum
Visualisierung II – 5. Skalartopologie
3
Inhaltsverzeichnis
5. Skalartopologie
1. Isolinien und Isoflächen
1. Der Marching Cubes Algorithmus
2. Effiziente Berechnung im Spannraum (span space)
2. Das Konturspektrum
3. Theoretische Grundlagen
1. Topologie
2. Triangulierung und Simplizialkomplexe
3. Morse-Theorie
4. Der Konturbaum
Visualisierung II – 5. Skalartopologie
4
Motivation
[C. Scheidegger,
Uni Utah]
Visualisierung II – 5. Skalartopologie
5
Isolinien und Isoflächen
●
Eine Kontur- oder Isolinie I ist als die
Menge aller Punkt p eines Datensatzes
definiert, die den gleichen Skalar- oder
Isowert α haben:
I ={ p∈D∣s p= }
●
Im 2D ergeben sich Isolinien, im 3D
Isoflächen.
Visualisierung II – 5. Skalartopologie
6
Berechnung von Isolinien – Grundidee
●
●
●
●
Benachbarte Zellen teilen sich die
Information auf den Kanten. Dadurch
können wir jede Zelle einzelnen
betrachten.
Isowert = 0.48
Für jede Zelle im Feld wird getestet,
ob sie von einer Isokontur geschnitten
wird oder nicht.
Da wir innerhalb der Zelle (bi)linear
interpolieren, muss man hierfür nur die
Werte an den Eckpunkten der Zelle
betrachten. Ist mindestens einer von
ihnen größer und mindestens einer
kleiner als der Isowert, so muss es
innerhalb der Zelle Positionen geben,
die exakt den Isowert haben.
Somit muss also lediglich in jeder
Zelle die positiv getestet wurde die
Isolinie berechnet werden.
Visualisierung II – 5. Skalartopologie
7
Berechnung von Isolinien – Grundidee
●
●
Für Quadrate mit 4 Eckpunkten ergeben sich also 24 = 16 mögliche Belegungen der
Eckpunkte (schwarz: ≥ Isowert, weiß < Isowert).
Der Schnittpunkt p auf der Kante zwischen den Eckpunkten pi und pj wird mittels
linearer Interpolation berechnet. Gewichte sind hierbei die Funktionswerte fi und fj an
den Eckpunkten:
p=
Visualisierung II – 5. Skalartopologie
pi  f j −f  p j  f −f i 
f j −f i
8
Berechnung von Isolinien – Grundidee
●
●
Aufgrund der linearen Interpolation innerhalb der Zellen sind die Isolinienstücke
innerhalb der Zellen Strecken:
Die Fälle 5 und 10 sind dabei nicht eindeutig bestimmt.
Visualisierung II – 5. Skalartopologie
9
Berechnung von Isolinien – Mehrdeutige Fälle
●
Im Falle von mehrdeutigen Zellen, kann dies wichtigen Einfluß auf die Topologie der
entstehenden Kontur haben. Im ersten Fall erhalten wir zwei separate Konturen, im
zweiten eine geschlossene.
Visualisierung II – 5. Skalartopologie
10
Isoflächen – Marching Cubes
●
●
Marching Cubes ist die Erweiterung des Marching Squares Algorithmus auf 3D. Er
berechnet Isoflächen.
Das Grundprinzip des Algorithmus ist ähnlich dem Marching Squares Algorithmus:
–
Berechne den topologischen Index der Zellen. Hier ergeben sich 28 = 256
mögliche Konfiguration, welche auf Grund von Symmetrien auf 15 reduziert
werden können.
Visualisierung II – 5. Skalartopologie
11
Inhaltsverzeichnis
5. Skalartopologie
1. Isolinien und Isoflächen
1. Der Marching Cubes Algorithmus
2. Effiziente Berechnung im Spannraum (span space)
2. Das Konturspektrum
3. Theoretische Grundlagen
1. Topologie
2. Triangulierung und Simplizialkomplexe
3. Morse-Theorie
4. Der Konturbaum
Visualisierung II – 5. Skalartopologie
12
Rechenaufwand für Isoflächen
●
●
●
●
●
Der vorgestellt Algorithmus nutzt bereits mehrere Charakteristika von zellbasierten
Skalarfeldern aus und bietet so eine sehr effiziente Implementierung. Trotzdem ergibt
sich hierbei im Allgemeinen eine Zeitkomplexität von O(n), wobei n die Anzahl der
Zellen ist, da man für jeden Isowert einmal alle Zellen durchlaufen und ihren
Knotenindex prüfen muss.
Optimierte Algorithmen, die Octrees verwenden [J. Wilhelms, A. van Gelder. Octrees for
fast isosurface generation, ACM Transactions on Graphics, 11(3), 201-277, 1992] kommen im
schlechtesten Fall auf eine Zeitkomplexität von O( k + k log( n / k ) ), wobei k die
Anzahl der von der Isofläche geschnittenen Zellen ist.
Mittels des Spannraums kann die Zeitkomplexität auf O( √n + k) gesenkt werden.
Grundidee ist, dass die Berechnung von Isoflächen in zwei Aufgaben geteilt werden
kann:
–
Finde alle Zellen, die die Isofläche schneiden.
–
Berechne für alle Schnittzellen das entsprechende Teilstück der Fläche.
Der Marching Cubes Algorithmus kümmert sich um das zweite Teilproblem, während
der Spannraum ein effizientes lokalisieren der benötigten Zellen ermöglicht.
Visualisierung II – 5. Skalartopologie
13
Der Spannraum
●
Definition Spannraum: Sei C die Menge aller Zellen des Beobachtungsraumes B
q
+
und s : B  W eine auf B definierte Funktion mit Funktionswerten in W ⊆ℝ q∈ℤ .
Wir definieren eine Punktmenge P = {pi } über W² mit
∀ c i ∈C assoziiere pi =ai , bi 
mit
ai =min {v j }i
j
bi =max {v j }i
j
wobei {vj }i die Funktionswerte an den Vertices
der Zelle ci sind.
Visualisierung II – 5. Skalartopologie
14
Zellsuche im Spannraum
●
●
Erste Teilaufgabe bei der Berechnung von Isoflächen war die Detektion aller Zellen,
die die Isofläche schneiden. Verwenden wir hierfür den soeben eingeführten
Spannraum, ergibt dies:
Suche im Spannraum: Gegeben sei eine Menge von Zellen C und die assoziierte
Punktmenge P im Spannraum. Ferner sei ein Isowert α ∈ W gegeben. Gesucht wird
nun die Menge P  ⊆P mit
∀  x i , y i ∈ P 
●
x i
y i 
Die Suche im Merkmalsraum (Spannraum) hat
mehrere Vorteile:
–
Die Suche ist unabhängig von der Geometrie
des Beobachtungsraumes. Dies ist z.B. bei
Saatkornmethoden nicht gegeben.
–
Auch die Topologie der Zellen ist nicht wichtig
und der Ansatz ist auch für unstrukturierte
Gitter geeignet.
–
Die Dimension des Problem wird gesenkt
(Suche von Zellen in 3D → Suche in 2D)
Visualisierung II – 5. Skalartopologie
15
Spannraum – Implementierung
Als Datenstruktur für die effiziente Suche im Spannraum wird ein kd-Baum
vorgeschlagen.
Aufbau:
●
●
●
Initialisiere den kd-Baum mit einem
einzigen Blatt, das eine Liste aller min-/
max-Wertepaare enthält.
Für jedes Blatt:
–
Wähle eine Dimension, die geteilt
werden soll.
–
Enthält die zugehörige Zellliste mehr
als zwei Elemente sortiere die Liste
entsprechend des aktuellen
Teilungskriteriums.
–
Speichere das Medianelement mit
entsprechenden Werten im aktuellen
Knoten und initialisiere die Kindknoten.
Wiederhole den vorhergehenden
Punkt, bis kein Blatt mehr geteilt
werden kann.
Visualisierung II – 5. Skalartopologie
16
Spannbaum – Datenstruktur
●
●
●
●
Der kd-Baum kann in diesem Fall in einem Array gespeichert werden, da es sich um
einen vollständig balancierten Baum handelt.
Jeder Knoten des Baumes repräsentiert eine Zelle, wir können also den Speicher für
den Baum im Vorfeld allokieren (Länge des Arrays entspricht Anzahl der Zellen).
Der Wurzelknoten wird in der Mitte des Arrays gespeichert. Der linke Teilbaum enthält
dann n/2 Knoten, der recht (n-1)/2 Knoten.
Jeder Knoten repräsentiert eine Zelle und speichert folgende Informationen:
–
float: min-Wert, max-Wert
–
int: Index der Zelle
Visualisierung II – 5. Skalartopologie
17
Spannraum – Pseudocode für Implementierung
Visualisierung II – 5. Skalartopologie
18
Spannraum – Zellsuche
●
●
Bei der Zellsuche sollen alle Zellen gefunden werden, deren min/max-Werte den
Isowert umschließen. Dazu beginnen wir bei der Suche an der Wurzel und
vergleichen die min/max-Wert mit dem Isowert.
Für alle Knoten:
–
●
●
min < α && max > α:
Berechne die Isofläche der Zelle.
Bei inneren Knoten:
–
min-Level && min < α:
Durchsuche beide Kinder.
–
min-Level && min ≥ α:
Durchsuche das linke Kind.
–
max-Level && max > α:
Durchsuche beide Kinder.
–
max-Level && max ≤ α:
Durchsuche des rechte Kind.
Optimierung: Für min < α können ab
sofort alle min-Level für das linke Kind
übersprungen werden. Analoges gilt für
den max-Wert.
Visualisierung II – 5. Skalartopologie
19
Spannraum – Pseudocode Zellsuche
Visualisierung II – 5. Skalartopologie
20
Spannraum – Ergebnisse
●
Der Ansatz heißt „near-optimal“, da er „nur“ im Standardfall k > √n optimal ist. In allen
anderen Fällen kommt nach Autorenaussage ein vernachlässigbar kleiner Overhead
hinzu.
# Zellen
Herz
# Isozellen
# Knoten
geprüft
Overhead
Max.
Unterbaum
69892
0.02
0.42
0.69
0.25
Torso
1290072
0.01
0.44
0.77
0.02
Gehirn
471770
0.02
0.21
0.68
0.03
2048383
0.03
0.07
0.82
0.25
FD-32
29791
0.10
0.18
0.75
0.25
FD-64
250047
0.10
0.06
0.54
0.25
FD-128
2048383
0.08
0.03
0.76
0.25
FD-256
16581375
0.07
0.01
0.54
0.25
Kopf
Visualisierung II – 5. Skalartopologie
21
Spannraum – Ergebnisse
2000000
1500000
# Zellen
# Isozellen
# Knoten geprüft
Overhead
Max. Unterbaum
1000000
500000
0
Herz
Torso
Kopf
FD-64
Gehirn
FD-32
FD-128
80000
70000
60000
# Zellen
# Isozellen
# Knoten geprüft
Overhead
Max. Unterbaum
50000
40000
30000
20000
10000
0
Visualisierung II – 5. Skalartopologie
Herz
Torso
Gehirn
Kopf
FD-32
FD-64
FD-128
22
Inhaltsverzeichnis
5. Skalartopologie
1. Isolinien und Isoflächen
1. Der Marching Cubes Algorithmus
2. Effiziente Berechnung im Spannraum (span space)
2. Das Konturspektrum
3. Theoretische Grundlagen
1. Topologie
2. Triangulierung und Simplizialkomplexe
3. Morse-Theorie
4. Der Konturbaum
Visualisierung II – 5. Skalartopologie
23
Geschachtelte Isokonturen
●
●
●
Die Auswahl eines guten Isowertes ist ein recht schwieriges Problem, da man
prinzipiell alle Werte durchprobieren müsste, um keine Details zu übersehen.
Die Folge unten stellt Isoflächen in einem 3D Datensatz der Elektronendichte eines
Methanmoleküls dar. Je nach Parametereinstellung bekommt man sehr
unterschiedliche Darstellungen.
Um das breite Spektrum an unterschiedlichen Flächen abzudecken und dem
Anwender einen Überblick über wesentliche Charakteristika der Isoflächen zu geben
wurde das Konturspektrum entwickelt [Bajaj 1997]].
wachsender Isowert
[V. Pascucci 2003]
Visualisierung II – 5. Skalartopologie
24
Das Konturspektrum
●
●
Im Wesentlichen ist das Kontourspektrum ein zusätzlichen Fenster, dass dem Nutzer
verschiedene Charakteristika der Isoflächen bei wachsendem Isowert zeigen.
Der Nutzer kann nun interaktiv den gewünschten Isowert auswählen und die
entsprechende 3D-Fläche anzeigen.
Visualisierung II – 5. Skalartopologie
25
Das Konturspektrum – Isoflächencharakteristika
●
●
●
Für das Konturspektrum werden drei generische integrale Größen vorgeschlagen, die
Isoflächen in beliebigen Dimensionen beschreiben können (man verwendet jedoch
zumeist nur 2D oder 3D Daten).
Im 2D verwendet man:
–
Länge der Isokontur
–
Von der Isokontur umschlossene Fläche
–
Kurvenintegral des Gradienten entlang der Isokontur
Analog im 3D:
–
Flächeninhalt der Isofläche
–
Eingeschlossenes Volumen
–
Oberflächenintegral des Gradienten über die Isofläche
Visualisierung II – 5. Skalartopologie
26
Das Konturspektrum – Berechnung
●
●
●
Im Originalartikel werden Dreiecks- bzw. Tetraedergitter benutzt, da Länge bzw.
Fläche bei linearer Interpolation einen B-Spline 2. Ordnung ergeben.
Eingeschlossene Flächen bzw. Volumen ergeben sich mittels Integration ebenfalls als
B-Spline.
Für den Gradienten wird eine Konstante pro Zelle angenommen (Ableitung der
skalaren Interpolation) und mit der Länge/Fläche multipliziert.
Visualisierung II – 5. Skalartopologie
27
Das Konturspektrum – Beispiele
Visualisierung II – 5. Skalartopologie
28
Inhaltsverzeichnis
5. Skalartopologie
1. Isolinien und Isoflächen
1. Der Marching Cubes Algorithmus
2. Effiziente Berechnung im Spannraum (span space)
2. Das Konturspektrum
3. Theoretische Grundlagen
1. Topologie
2. Triangulierung und Simplizialkomplexe
3. Morse-Theorie
4. Der Konturbaum
Visualisierung II – 5. Skalartopologie
29
Geschachtelte Isokonturen
●
●
●
Die Auswahl eines guten Isowertes ist ein recht schwieriges Problem, da man
prinzipiell alle Werte durchprobieren müsste, um keine Details zu übersehen.
Die Folge unten stellt Isoflächen ein einem 3D Datensatz der Elektronendichte eines
Methanmoleküls dar. Je nach Parametereinstellung bekommt man sehr
unterschiedliche Darstellungen.
Die Topologie beschreibt diese Veränderungen und der Konturbaum ist eine
Datenstruktur um die topologischen Veränderungen effizient zu speichern.
wachsender Isowert
[V. Pascucci 2003]
Visualisierung II – 5. Skalartopologie
30
Topologie
●
●
●
Die Topologie beschäftigt sich mit den Eigenschaften von Mengen, die sich bei
kontinuierlicher Deformationen (z.B. Dehnen, Stauchen, Verbiegen) nicht ändern.
Für die Untersuchung von Skalarfeldern ist die Topologie u.a. von Bedeutung, da
man mit ihrer Hilfe untersuchen kann, wann Isolinien bzw. Isoflächen ihre
grundlegende Struktur ändern. Dies hilft dabei wichtige Isowerte zu finden.
Eine Änderung der Topologie entsteht z.B. wenn bei Veränderung des Isowertes
aus einer Isolinie zwei Linien werden – irrelevant aus topologischer Sicht sind auf der
anderen Seite z.B. Größenänderungen, also Länge der Kontur oder eingeschlossene
Fläche.
topologisch
äquivalent
nicht
topologisch
äquivalent
Visualisierung II – 5. Skalartopologie
oder
oder
31
Topologie
●
Sei X eine beliebige Menge und T eine Menge von Teilmengen von X. T wird eine
Topologie von X genannt, wenn gilt:
–
Sowohl die leer Menge als auch X sind Elemente von T.
∅∈T
–
X ∈T
Die Vereinigung einer beliebigen Anzahl von Elementen aus T ist ebenfalls
ein Element von T.
Wenn Z ⊂ X ist, so ist ∪ O∈T.
O∈ Z
–
Die Schnittmenge einer endlichen Anzahl von Elementen aus T ist
ebenfalls ein Element von T.
Wenn Z ⊂ X endlich ist, so ist ∩ O∈T.
O ∈Z
●
Eine Menge X mit einer Topologie T heißt topologischer Raum.
Visualisierung II – 5. Skalartopologie
32
Abbildung und Äquivalenz
●
●
●
Seien X, Y topologische Räume und x X ein Punkt in X. Eine Abbildung f: X → Y
heißt stetig in x, falls für jede Umgebung V von f(x) eine Umgebung U von x
existiert, so dass f (U )⊆V .
f heißt stetig, wenn f für alle x ∈ X stetig ist.
Ist f: X → Y eine bijektive stetige Abbildung und auch f -1 stetig, so nennt man f einen
Homöomorphismus. Topologische Räume X, Y heißen homöomorph
(topologisch äquivalent), wenn es einen Homöomorphismus f: X → Y gibt.
topologisch
äquivalent
nicht
topologisch
äquivalent
Visualisierung II – 5. Skalartopologie
oder
oder
33
Inhaltsverzeichnis
5. Skalartopologie
1. Isolinien und Isoflächen
1. Der Marching Cubes Algorithmus
2. Effiziente Berechnung im Spannraum (span space)
2. Das Konturspektrum
3. Theoretische Grundlagen
1. Topologie
2. Triangulierung und Simplizialkomplexe
3. Morse-Theorie
4. Der Konturbaum
Visualisierung II – 5. Skalartopologie
34
Affine und konvexe Hülle
●
●
Besonders im Hinblick auf algorithmische Methoden ist es wünschenswert,
topologische Räume durch endliche Strukturen darzustellen. Eine Möglichkeit dazu
besteht in Simplizialkomplexen.
Die affine Hülle einer Menge von Punkten P = {p0 , ...,pn } des IRn ist
{∑
n
aff P :=
i=0
●
●
n
λ i p i∣∑ λ i =1, λ i ∈ℝ
i=0
}
P ist affin unabhängig, falls sich aff P von der affinen
Hülle jeder echten Teilmenge von P unterscheidet.
(Satz: Jede Teilmenge des En aus mindestens n+2
eindeutig bestimmten Punkten ist affin abhängig.
→ Sie besitzt hierdurch eine nichttriviale Darstellung
der 0.)
Die konvexe Hülle von P ist
{∑
n
conv P :=
i=0
n
λ i pi∣∑ λ i =1,∀i : λ i ≥0
Visualisierung II – 5. Skalartopologie
i =0
}
35
Simplices und ihre Beschreibung
●
●
Ein k-Simplex ist die konvexe Hülle von k+1 affin unabhängigen Punkten.
–
Ein 0-Simplex heißt Ecke,
–
ein 1-Simplex Kante,
–
ein 2-Simplex Dreieck und
–
ein 3-Simplex Tetraeder.
Ist P = {p0 , ...,pn } affin unabhängig, so ist die Dimension des k-Simplex σ
dim σ=k =∣P∣−1
●
●
Eine Facette von σ ist ein (k-n)-Simplex, n∈[0, k ]
τ = conv Q mit Q⊆ P.
Die baryzentrischen Koordinaten eines Punktes
x ∈σ sind die Koeffizienten λi der Affinkombination
mit
n
n
∑ λi p i= x ∑ λi =1
i =0
Visualisierung II – 5. Skalartopologie
i=0
36
Simplizialkomplex
●
●
●
Ein Simplizialkomplex K ist eine endliche Familie von Simplizes mit folgenden
Eigenschaften
–
Wenn σ ∈ K und τ eine Facette von σ ist, so ist τ∈ K .
–
Wenn σ , σ ' ∈ K sind, so ist σ∩σ ' leer oder eine Facette von σ und σ'.
Die Eckenmenge von K ist vert K = { σ ∈K∣dim σ=0 } .
Eine Triangulierung eines topologischen
Raumes X ist ein Simplizialkomplex K
zusammen mit einem Homöomorphismus
h: |K| → X.
|K| ist die geometrische Realisierung von X.
Visualisierung II – 5. Skalartopologie
[wikipedia]
37
Topologie von Isostrukturen (Level Sets)
2D
1D
f(x)
iso = 70
iso = 58
iso = 54
iso = 30
x
3D
wachsender Isowert
Visualisierung II – 5. Skalartopologie
[V. Pascucci 2003]
iso = 91
38
Inhaltsverzeichnis
5. Skalartopologie
1. Isolinien und Isoflächen
1. Der Marching Cubes Algorithmus
2. Effiziente Berechnung im Spannraum (span space)
2. Das Konturspektrum
3. Theoretische Grundlagen
1. Topologie
2. Triangulierung und Simplizialkomplexe
3. Morse-Theorie
4. Der Konturbaum
Visualisierung II – 5. Skalartopologie
39
Morse-Theorie
●
●
●
●
Im Allgemeinen stellt die Morse-Theorie einen Zusammenhang zwischen der
Topologie von Mannigfaltigkeiten und darauf definierten differenzierbaren Funktionen
her. Wir betrachten hierbei zwei einfachere Fälle: Die Mannigfaltigkeiten seien durch
den Beobachtungsraum B (B⊂ℝ 2 ∨B⊂ℝ3 ) unseres Datensatzes definiert und die
darauf definierten Funktionen sind die zugehörigen Skalarfelder.
Mit Hilfe der Morse-Theorie (nach Marston Morse, 1892-1977) können Änderungen
in der Topologie von Isostrukturen bei veränderlichem Isowert analysiert werden.
Punkte an denen sich die Topologie der Isostrukturen ändert nennt man kritische
Punkte.
Sei f: B → IR eine C²-Funktion. Ein Punkt p ∈ B heißt kritischer
Punkt, falls
∂f
( p)=0
∂x
f(x)
∂ f /∂ x( p) sind die partiellen Ableitungen nach den verschiedenen Raumrichtungen des Beobachtungsraumes.
●
x
Ein Wert w ∈ IR, zu dem es einen kritischen Punkt p ∈ B mit
f (p) = w gibt, heißt kritischer Wert.
Visualisierung II – 5. Skalartopologie
40
Kritische Punkte
●
●
Für die weiteren Betrachtungen ist es ausserdem wichtig zu wissen, um welche Art
von kritischen Punkt es sich handelt.
Dies kann man über die Hessematrix (2. Ableitungen) bestimmen.
(
●
∂2 f
∂2 f
⋯
( p)
2 ( p)
∂ x1 ∂ x b
∂ x1
⋮
⋮
∂2 f
∂2 f
( p) ⋯
( p)
2
∂ x b ∂ x1
∂ xb
)
Kritische Punkte, deren Hessematrix vollen Rang hat, heißen Morsepunkte. Man
unterscheidet ihren Typ anhand der Eigenwerte der Hessematrix:
0<λ 1 ≤λ 2
Visualisierung II – 5. Skalartopologie
λ 1≤λ 2 <0
λ 1<0<λ 2
41
Morsefunktion
●
●
●
●
Eine glatte reellwertige Funktion auf einer Mannigfaltigkeit M ist eine Morsefunktion,
falls sie nur isolierte Morsepunkte mit unterschiedlichem kritischen Wert besitzt.
Aufgrund der Struktur des Datensatzes (Simplizialkomplex mit linearer Interpolation
innerhalb eines jeden Simplex) ist die Skalarfunktion s: B → IR eine Morsefunktion
und kritische Punkte befinden sich immer auf den Vertices des Simplizialkomplexes.
Der Morse-Smale-Komplex ist eine Unterteilung des Beobachtungsraumes in
Bereiche in denen Integrationskurven im Gradientenfeld gleichen Ursprung (lok.
Minimum) und gleiches Ziel (lok. Maximum)
haben.
Der Reeb-Graph oder Konturbaum
einer Skalarfunktion beschreibt die
Konnektivität von Isokonturen.
Visualisierung II – 5. Skalartopologie
42
Inhaltsverzeichnis
5. Skalartopologie
1. Isolinien und Isoflächen
1. Der Marching Cubes Algorithmus
2. Effiziente Berechnung im Spannraum (span space)
2. Das Konturspektrum
3. Theoretische Grundlagen
1. Topologie
2. Triangulierung und Simplizialkomplexe
3. Morse-Theorie
4. Der Konturbaum
Visualisierung II – 5. Skalartopologie
43
Konturbaum
●
Der Konturbaum ist ein Baum aus dem man
folgende Informationen ablesen kann:
–
Wertebereich der Funktion (oberes und unteres
Ende des Baumes).
–
Anzahl der unabhängigen Isoflächen/-linien bei
einem gegebenen Isowert (Anzahl der Schnitte
mit dem Konturbaum bei gegebenem Isowert).
–
Entstehen, Verschwinden und Verschmelzen
von Komponenten. (Blätter bzw. innere Knoten)
–
Evolution von Konturen
Visualisierung II – 5. Skalartopologie
[V. Pascucci]
44
Konturbaum – Algorithmus
●
Zur Demonstration des Algorithmus verwenden wir eine topographische Karte von
Vancouver [http://www.csi.ucd.ie/staff/hcarr/home/research/contourtrees/contourtrees.html] .
Daten
Colormap
Iso-/ Höhenlinien
Konturbaum
Visualisierung II – 5. Skalartopologie
45
Konturbaum – Algorithmus
●
Der Konturbaumalgorithmus besteht aus drei Teilen:
–
Berechne den VereinigungsBaum (JoinTree).
–
Berechne den TeilungsBaum (SplitTree).
–
Fasse die beiden Bäume im Konturbaum zusammen (ContourTree).
Visualisierung II – 5. Skalartopologie
46
Konturbaum – Algorithmus Vereinigungsbaum
●
●
Man startet mit dem größten Wert im Datensatz und
zeichnet die entsprechende Isokontur ein (leere
Menge).
Nun geht man sukzessive alle Datenpunkte in
absteigender Folge durch, d.h. vom größten zum
kleinsten Wert) und zeichnet wieder die entsprechenden
Konturen ein. Es können drei Ereignisse eintreten:
–
Die Anzahl der Zusammenhangskomponenten
bleibt gleich.
–
Es kommt eine neue Komponente hinzu.
–
Zwei Komponenten verschmelzen zu
einer und die Gesamtzahl der
Komponenten verringert sich.
Visualisierung
5. Skalartopologie
isoII =– 30
iso = 54
iso = 91
iso = 70
iso = 58
47
Konturbaum – Algorithmus Vereinigungsbaum
Behandlung der drei Fälle:
●
●
●
Die Anzahl der Konturen bleibt gleich: Hänge den
Knoten an seine entsprechende Kontur an.
Es kommt eine neue Kontur hinzu: Ein neues Blatt wird
auf Höhe des entsprechenden Skalarwertes in den
Konturbaum eingefügt.
iso = 70
Zwei Konturen verschmelzen zu einer und die Anzahl
verringert sich: Ein innerer Knoten wird eingefügt und die
Knoten, die die verschmelzenden Konturen
repräsentieren, werden mit ihm verbunden.
iso = 58
Visualisierung II – 5. Skalartopologie
iso = 30
48
Konturbaum – Algorithmus Vereinigungsbaum
Visualisierung II – 5. Skalartopologie
49
Konturbaum – Algorithmus Teilungsbaum
●
●
●
Der Teilungsbaum wird analog zum Vereinigungsbaum
berechnet, nur sortiert man die Vertices diesmal
umgekehrt, also vom kleinsten zum größten.
Der Vereinigungsbaum zeigt alle nach oben gerichteten
Aufteilungen.
iso = 0.5
Der Teilungsbaum zeigt alle nach unten gerichteten
Aufteilungen des Konturbaumes.
iso = 2
Visualisierung II – 5. Skalartopologie
iso = 40
50
Konturbaum – Vereinigung beider Bäume
●
Im letzten Schritt müssen Vereinigungs- (VB) und Teilungsbaum (TB)
zusammengefasst werden.
●
Man beginnt mit einem leeren Baum.
●
Sukzessive werden alle Knoten eingefügt, bei denen gilt
Grad nach oben im VB + Grad nach unten im TB = 1
Dies geschieht mit folgenden Operationen:
–
Ist der Knoten ein oberes oder unteres Blatt?
●
oben: Füge die Kante entsprechend dem VB ein.
●
unten: Füge die Kante entsprechend dem TB ein.
–
Lösche den Knoten aus beiden Bäumen und verbinde
gegebenenfalls die übrigen Knoten neu.
–
Ist der Endpunkt der neuen Kante
nun ein Blatt wird er in die Liste
der zu bearbeitenden Knoten
eingefügt.
VB
TB
Visualisierung II – 5. Skalartopologie
51
Konturbaum – Die Vereinigung der beiden Bäume
Visualisierung II – 5. Skalartopologie
52
Konturbaum – Die Vereinigung der beiden Bäume
Visualisierung II – 5. Skalartopologie
53
Konturbaum – Die Vereinigung der beiden Bäume
Visualisierung II – 5. Skalartopologie
54
Konturbaum – Beispiel
Visualisierung II – 5. Skalartopologie
55
Konturbaum – Beispiele
[S. Dillard]
Visualisierung II – 5. Skalartopologie
[V. Pascucci]
56
Literatur
●
●
●
Y. Livnat, H.-W. Shen, C.R. Johnson. A Near Optimal Isosurface Extraction Algorithm
Using the Span Space, IEEE Transactions on Visualization and Computer Graphics
2(1), 73 – 84, 1996.
C.L. Bajaj, V. Pascucci, D.R. Schikore. The Contour Spectrum, In Proc. IEEE
Visualization, 167 – 173, 1997.
H. Carr, J. Snoeyink, U. Axen. Computing Contour Trees in All Dimensions,
Computational Geometry 24(2), 75-94, 2003.
Visualisierung II – 5. Skalartopologie
57
Herunterladen