Visualisierung II 5. Skalartopologie



Ähnliche Dokumente
1 topologisches Sortieren

Konzepte der Informatik

Lineare Gleichungssysteme

Anmerkungen zur Übergangsprüfung

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Grundlagen der Theoretischen Informatik, SoSe 2008

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester gehalten von Harald Baum

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

7 Rechnen mit Polynomen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Definition und Begriffe

Musterlösungen zur Linearen Algebra II Blatt 5

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

1 Mathematische Grundlagen

Primzahlen und RSA-Verschlüsselung

Kapitel 6: Graphalgorithmen Gliederung

( ) als den Punkt mit der gleichen x-koordinate wie A und der

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

6.2 Scan-Konvertierung (Scan Conversion)

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Algorithmische Mathematik

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Mathematik I für Wirtschaftswissenschaftler

WS 2009/10. Diskrete Strukturen

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

1 Konvexe Funktionen. 1.1 Definition. 1.2 Bedingung 1.Ordnung. Konvexität und Operationen, die die Konvexität bewahren Seite 1

Algorithmen und Datenstrukturen 2

Approximation durch Taylorpolynome

Kapiteltests zum Leitprogramm Binäre Suchbäume

Algorithmen II Vorlesung am

Theoretische Grundlagen der Informatik

Einführung in die Algebra

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

SUDOKU - Strategien zur Lösung

Kevin Caldwell. 18.April 2012

Universität Bonn, Institut für Angewandte Mathematik. WS 2012/2013 Prüfung Angewandte Mathematik und Statistik - Agrarwiss. /ELW

Quadratische Gleichungen

Plotten von Linien ( nach Jack Bresenham, 1962 )

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Das Briefträgerproblem

Download. Mathematik üben Klasse 8 Funktionen. Differenzierte Materialien für das ganze Schuljahr. Jens Conrad, Hardy Seifert

Bestimmung einer ersten

Algorithmen und Datenstrukturen. Große Übung vom Nils Schweer

Algorithmen und Datenstrukturen

Abiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

Erstellen von x-y-diagrammen in OpenOffice.calc

Lineare Gleichungssysteme

Fallbeispiel: Eintragen einer Behandlung

Datenbanken Kapitel 2

Anleitung über den Umgang mit Schildern

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Linienland, Flächenland und der Hyperraum Ein Ausflug durch die Dimensionen

Aufgabe 1. Zunächst wird die allgemeine Tangentengleichung in Abhängigkeit von a aufgestellt:

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Expander Graphen und Ihre Anwendungen

Information Systems Engineering Seminar

8.2 Thermodynamische Gleichgewichte, insbesondere Gleichgewichte in Mehrkomponentensystemen Mechanisches und thermisches Gleichgewicht

Eigenwerte und Eigenvektoren von Matrizen

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Matrizennorm. Definition 1. Sei A M r,s (R). Dann heißt A := sup die Matrixnorm. Wir wissen zunächst nicht, ob A eine reelle Zahl ist.

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Lineare Gleichungssysteme

Informationsblatt Induktionsbeweis

Anwendungshinweise zur Anwendung der Soziometrie

Word 2010 Schnellbausteine

Eine Logikschaltung zur Addition zweier Zahlen

Die reellen Lösungen der kubischen Gleichung

BENUTZERHANDBUCH für. Inhaltsverzeichnis. 1. Anmeldung. 2. Rangliste ansehen. 3. Platzreservierung. 4. Forderungen anzeigen

Wasserfall-Ansätze zur Bildsegmentierung

Frohe Weihnachten und ein gutes neues Jahr!

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Algorithmische Geometrie

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

!(0) + o 1("). Es ist damit möglich, dass mehrere Familien geschlossener Orbits gleichzeitig abzweigen.

Optimierungsprobleme mit Nebenbedingungen - Einführung in die Theorie, Numerische Methoden und Anwendungen

Stackelberg Scheduling Strategien

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Mathematischer Vorbereitungskurs für Ökonomen

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme

Sortierverfahren für Felder (Listen)

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

GEVITAS Farben-Reaktionstest

Dokumentation zum Projekt Multimediale Lehre Fluidmechanik an der Technischen Universität Graz

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Anwendertreffen 20./21. Juni

Übung Theoretische Grundlagen

Präventionsforum+ Erfahrungsaustausch. HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch. Stand: Änderungen vorbehalten

In konstanten Modellen wird davon ausgegangen, dass die zu prognostizierende Größe sich über die Zeit hinweg nicht verändert.

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse

Einführung in. Logische Schaltungen

WS 2008/09. Diskrete Strukturen

MARCANT - File Delivery System

Transkript:

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 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 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 4

Motivation [C. Scheidegger, Uni Utah] 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. 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. 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= 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. 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. 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. 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 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. 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. 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) 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. 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 17

Spannraum Pseudocode für Implementierung 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. 19

Spannraum Pseudocode Zellsuche 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 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 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 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] 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. 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 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. 27

Das Konturspektrum Beispiele 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 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] 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 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. 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 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 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 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 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. [wikipedia] 37

Topologie von Isostrukturen (Level Sets) 2D 1D f(x) iso = 70 iso = 58 iso = 54 iso = 30 x 3D wachsender Isowert [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 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. 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 λ 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. 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 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 [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 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). 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 iso = 30 48

Konturbaum Algorithmus Vereinigungsbaum 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 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 51

Konturbaum Die Vereinigung der beiden Bäume 52

Konturbaum Die Vereinigung der beiden Bäume 53

Konturbaum Die Vereinigung der beiden Bäume 54

Konturbaum Beispiel 55

Konturbaum Beispiele [S. Dillard] [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. 57