Advanced Topics in Computer Graphics: Transferfunktionen Markus Happe und Tobias Kenter Universität Paderborn Markus Happe, Tobias Kenter 09.02.2007 1 / 40
Motivation (1/2) Wie stelle ich Volumendaten grasch da? Direct Volume Rendering Bisher: Farbwerte (RGBA) für jeden Punkt fest vorgegeben Ziel: Zuweisung der Farbwerte mit einer Transferfunktion Universität Paderborn Markus Happe 09.02.2007 2 / 40
Motivation (2/2) Problem: Zu untersuchendes Organ ist durch z.b. Knochen verdeckt Lösung 1: Soweit möglich den Datensatz beschneiden Nachteile: Hoher Aufwand für den Benutzer Möglicher Informationsverlust Lösung 2: Knochen über Transferfunktion durchsichtig machen. Universität Paderborn Markus Happe 09.02.2007 3 / 40
Transferfunktion gegeben: Volumendaten aus CT / PET Datum: Dichtewert Vorverarbeitung Skalieren der Werte auf ein bestimmtes Intervall Zuweisung der RGBA-Werte In der Regel über 4 Look-Up Tabellen Eine Tabelle pro Koezienten (RGBA) f T (f ) := (η r (f ), η g (f ), η b (f ), χ(f )) Vorteile sehr schnell auch auf Grakkarte möglich Universität Paderborn Markus Happe 09.02.2007 4 / 40
Transferfunktion vor/nach Interpolation 2 mögliche Positionen der Transferfunktion vor der Interpolation (Pre-Interpolative Transferfunktion) nach der Interpolation (Post-Interpolative Transferfunktion) Universität Paderborn Markus Happe 09.02.2007 5 / 40
Pre-Interpolative Transferfunktionen Zuweisung von Datenwerten zu Farbwerten vor der Interpolation (diskrete Werte) Interpolation über Farbwerte der Nachbarfelder C pre (x) = I color (T f p 0,...p n )(x) Universität Paderborn Markus Happe 09.02.2007 6 / 40
Post-Interpolative Transferfunktionen Zuweisung von Datenwerten zu Farbwerten nach der Interpolation (kontinuierliche Werte) Interpolation über Datenwerte der Nachbarfelder C pre (x) = T I data (f p 0,...p n )(x) Universität Paderborn Markus Happe 09.02.2007 7 / 40
Übung Universität Paderborn Markus Happe 09.02.2007 8 / 40
Lösung Universität Paderborn Markus Happe 09.02.2007 9 / 40
Vergleich: Pre/Post-Interpolative Transferfunktionen (1/3) Pre-Interpolative Transferfunktion Vorteil auf vielen Grakkarten verfügbar Nachteil weist allen diskreten Datenwerten einen Farbwert zu und interpoliert zwischen den Farbwerten. Spitzen in der Transferfunktion werden verpasst schlechtere Ergebnisse Post-Interpolative Transferfunktion Vorteil rekonstruiert zuerst das kontinuierliche Signal bessere Ergebnisse Nachteil (veraltet) früher nur auf wenigen Grakkarten verfügbar Universität Paderborn Markus Happe 09.02.2007 10 / 40
Vergleich: Pre/Post-Interpolative Transferfunktionen (2/3) Universität Paderborn Markus Happe 09.02.2007 11 / 40
Vergleich: Pre/Post-Interpolative Transferfunktionen (3/3) Universität Paderborn Markus Happe 09.02.2007 12 / 40
Histogramm in der Bildverarbeitung statistische Häugkeit der Grau/Farbwerte visualisiert Helligkeitsverteilung keine Aussage über räumliche Verteilung Universität Paderborn Markus Happe 09.02.2007 13 / 40
Histogramm: Übung Bild: 0 0 1 2 3 2 1 0 0 0 1 2 3 4 3 2 1 0 1 2 3 4 5 4 3 2 1 2 3 4 5 6 5 4 3 2 3 4 5 6 7 6 5 4 3 2 3 4 5 6 5 4 3 2 1 2 3 4 5 4 3 2 1 0 1 2 3 4 3 2 1 0 0 0 1 2 3 2 1 0 0 Histogramm: Universität Paderborn Markus Happe 09.02.2007 14 / 40
Histogramm: Lösung Bild: 0 0 1 2 3 2 1 0 0 0 1 2 3 4 3 2 1 0 1 2 3 4 5 4 3 2 1 2 3 4 5 6 5 4 3 2 3 4 5 6 7 6 5 4 3 2 3 4 5 6 5 4 3 2 1 2 3 4 5 4 3 2 1 0 1 2 3 4 3 2 1 0 0 0 1 2 3 2 1 0 0 Histogramm: Universität Paderborn Markus Happe 09.02.2007 15 / 40
Histogramm in der Computermedizin Problem: In der Realität ist die Klassikation nicht eindeutig Universität Paderborn Markus Happe 09.02.2007 16 / 40
1D - Histogramm: Regionen nden Anzahl der Datenwerte: schwarz lineare Skala grau logarithmische Skala Problem: Überlappungen zwischen verschiedenen Materialien Lösung: Hinzunahme der Gradienten Universität Paderborn Markus Happe 09.02.2007 17 / 40
1D - Histogramm: Regionen nden Anzahl der Datenwerte: schwarz lineare Skala grau logarithmische Skala Problem: Überlappungen zwischen verschiedenen Materialien Lösung: Hinzunahme der Gradienten Universität Paderborn Markus Happe 09.02.2007 17 / 40
Gradientenberechnung Siehe Vorlesung: Texture-Based DVR Annäherung der Gradienten durch zentrale Dierenzen Vorberechnete Gradienten Berechnung der Gradienten On-the-Fly Universität Paderborn Markus Happe 09.02.2007 18 / 40
2D - Histogramm: Regionen nden (1/2) Achsen: x-achse: Datenwerte / Dichtewerte y-achse: Gradient Helligkeit: Anzahl der Datenwerte x i mit Dichtwert y j Universität Paderborn Markus Happe 09.02.2007 19 / 40
2D - Histogramm: Regionen nden (2/2) Helligkeit: Anzahl der Datenwerte Materialübergänge: D: Luft weiches Gewebe E: weiches Gewebe Knochen F: Luft Knochen Materialien: A: Luft B: weiches Gewebe C: Knochen Universität Paderborn Markus Happe 09.02.2007 20 / 40
Übung: Zahnmedizin - Aufgabe Aufgabe: Markieren Sie alle Materialien und die Materialübergänge im Histogramm! Vier Materialien (aufsteigend nach Dichtwert sortiert) A: Zahnmark B: Zahneisch C: Zahnbein D: Zahnschmelz Universität Paderborn Markus Happe 09.02.2007 21 / 40
Übung: Zahnmedizin - Aufgabe Aufgabe: Markieren Sie alle Materialien und die Materialübergänge im Histogramm! Vier Materialien (aufsteigend nach Dichtwert sortiert) A: Zahnmark B: Zahneisch C: Zahnbein D: Zahnschmelz Universität Paderborn Markus Happe 09.02.2007 21 / 40
Übung: Zahnmedizin - Lösung Probleme: Materialübergänge überschneiden sich. Visualisierung der Materialübergänge E und H sind hier unerwünscht. Materialien: A: Zahnmark B: Zahneisch C: Zahnbein D: Zahnschmelz Universität Paderborn Markus Happe 09.02.2007 22 / 40
Problem: Überschneidung von Bereichen Tafelbeispiel Universität Paderborn Tobias Kenter 09.02.2007 23 / 40
Ausweg: zweite Ableitung Universität Paderborn Tobias Kenter 09.02.2007 24 / 40
Multivariate Daten Mehrere Skalare Datensätze Kombination aus CT und PET Visible Male Datensatz: RGB Meteorologie: Temperatur und Luftfeuchtigkeit Ziel: Bereiche mit Auälligkeiten in allen Datensätzen nden gemeinsame Ableitung der Datensätze wichtig: Datensätze normieren Universität Paderborn Tobias Kenter 09.02.2007 25 / 40
Ableitung multivariater Daten f1 x f1 y f1 z f2 f2 f2 x y z Df =......... fm fm fm x y z f i : m Datensätze f : partielle Ableitung in x-richtung x f 1 (f (x + h, y, z) f (x h, y, z)) x 2h G = Df T Df L2-Norm: G = (G(1, 1)) 2 +... + (G(3, 3)) 2 Universität Paderborn Tobias Kenter 09.02.2007 26 / 40
Aufgabe: multivariate Daten t = x1 x2 x3 x4 y1 4 4 4 4 y2 2 2 2 2 y3 0 0 0 0 h = x1 x2 x3 x4 y1 0 0 2 0 y2 2 2 2 2 y3 4 4 2 0 Aufgabe: G für die beiden mittleren Felder berechnen f x 1 (f (x + 1, y) f (x 1, y)) 2 Df = t x h x t y h y Df T = t x t y h x h y G = Df T Df G = (G(1, 1)) 2 +... + (G(2, 2)) 2 Universität Paderborn Tobias Kenter 09.02.2007 27 / 40
Vergleich t = x1 x2 x3 x4 y1 4 4 4 4 y2 2 2 2 2 y3 0 0 0 0 h = x1 x2 x3 x4 y1 0 0 2 0 y2 2 2 2 2 y3 4 4 2 0 Vergleich: G gegenüber einzelnen Gradienten G(2, 2) = 8 G(3, 2) = 4 2 Grad(2, 2)(t) = 4 Grad(2, 2)(h) = 4 Grad(3, 2)(t) = 4 Grad(3, 2)(h) = 4 Universität Paderborn Tobias Kenter 09.02.2007 28 / 40
Ergebnis multivariate Daten Bild 1: 2D Transferfunktion (t und h) Bild 2: 3D Transferfunktion: Werte mit kleinem G werden ausgeblendet Universität Paderborn Tobias Kenter 09.02.2007 29 / 40
Motivation Benutzerinterfaces Notwendigkeit von guten Benutzerinterfaces: Flexibilität: Benutzer: Jeder Datensatz ist anders relevante Bereiche sollen deutlich dargestellt werden Experte auf seinem Anwendungsgebiet genaue Vorstellungen, was dargestellt werden soll überwiegend unerfahren in Computergrak Universität Paderborn Tobias Kenter 09.02.2007 30 / 40
Manuelle Transferfunktionen Mehrdimensionale Transferfunktionen schwer zu steuern Beschränkung auf 2D-Transferfunktionen Hauptwerkzeug: Geometrieobjekte in 2D Histogramm Demo: MediTool gute Flexibilität zeitintensive Bedienung erfordert Expertenwissen Universität Paderborn Tobias Kenter 09.02.2007 31 / 40
Manuelle Transferfunktionen Mehrdimensionale Transferfunktionen schwer zu steuern Beschränkung auf 2D-Transferfunktionen Hauptwerkzeug: Geometrieobjekte in 2D Histogramm Demo: MediTool gute Flexibilität zeitintensive Bedienung erfordert Expertenwissen Universität Paderborn Tobias Kenter 09.02.2007 31 / 40
Weitere Werkzeuge in Benutzerinterfaces (1/2) andere Dimensionen der 2D Transferfunktion weitere geometrische Formen: Universität Paderborn Tobias Kenter 09.02.2007 32 / 40
Weitere Werkzeuge in Benutzerinterfaces (2/2) Datenauswahl im Volumen, Markierung in Transferfunktion Clipping Plane um in das Volumen hineinzusehen Beleuchtung Universität Paderborn Tobias Kenter 09.02.2007 33 / 40
Automatisierte Ansätze Bildbasierte Ansätze automatische Maximierung von Bildeigenschaften (z.b. Entropie, Kantenenergie, Histogrammvarianz) Benutzergeleitet (Auswahl aus Thumbnails) Datenbasierte Ansätze Klassikations- oder Segmentierungsaufgabe Grenzen zwischen Materialien nden z.b. Wasserscheiden-Transformation Universität Paderborn Tobias Kenter 09.02.2007 34 / 40
Halbautomatische Transferfunktionen: semantische Modelle Denition von semantischen Typen (z.b. Knochen, Haut, Gehirn, Blutgefäÿe) Optimierung von Transferfunktionen auf Testdatenset (Geometrieobjekte in 2D Histogramm) Analyse der Kontrollpunkte Mittelwert Varianzmatrix Feststellung: Varianzmatrix hat einen bestimmenden Eigenvektor Universität Paderborn Tobias Kenter 09.02.2007 35 / 40
Halbautomatische Transferfunktionen: semantische Modelle Anpassung an Datensatz: Verschiebung der Kontrollpunkte entlang des bestimmenden Eigenvektors Universität Paderborn Tobias Kenter 09.02.2007 36 / 40
Halbautomatische Transferfunktionen: semantische Modelle Universität Paderborn Tobias Kenter 09.02.2007 37 / 40
Implementierung Implementierung im Shader einfach 1D/2D/3D-Transferfunktion in 1D/2D/3D-Textur speichern Datenwert an Volumenposition auslesen Interpolation durch Hardware Gradient, etc. berechnen/auslesen Datenwert (Gradient) wird Texturkoordinate der Transferfunktion Universität Paderborn Tobias Kenter 09.02.2007 38 / 40
Literatur Engel, Hadwiger, Kniss, Rezk-Salama, Weiskopf: Real-Time Volume Graphics, 2006. (Kapitel 4: Transfer Functions, Seite 81-102)] Kniss: Transfer Functions, Real Time Volume Graphics, Course Notes Tutorial 7, Seite 45-59 Kniss, Kindlmann, Hansen: Multi-Dimensional Transfer Functions for Interactive Volume Rendering Salama, Keller, Kohlmann: High-Level User Interfaces for Transfer Function Design with Semantics, IEEE Transaction on Visualisation and Computer Graphics, Vol. 12 No. 5, September/Oktober 2006 Universität Paderborn Tobias Kenter 09.02.2007 39 / 40
Gliederung Einleitung Pre/Post Interpolation Histogramme 2D-Transferfunktion Dimensionen Benutzerinterfaces Implementierung Universität Paderborn Tobias Kenter 09.02.2007 40 / 40