16
Merkmals-Visualisierung f ¨ ur Volumsdaten Bakkalaureatsarbeit Martin Haidacher [email protected] Institut f ¨ ur Computergraphik und Algorithmen TU Wien 18. Juni 2004 (a) (b) (c) (d) Bonsai-Datensatz gerendert mit den im Paper vorgestellten Methoden: (a) Depth of Field, (b) Focus+Context, (c) 3D Dithering, (d) Magic Lamp Kurzfassung In diesem Paper werden Methoden vorgestellt, welche das Direct Volume Rendering (DVR) unterst¨ utzen. Sie sollen vor allem dazu dienen, innere Strukturen und wichtige Details besser darzustellen. Die Methode Depth of Field adaptiert den Effekt der Tiefenunsch ¨ arfe aus der Fotographie f¨ ur die Volumsvisualisierung. Der Fokusbereich wird dabei scharf dargestellt und je nach Entfernung in Blickrichtung vom Fokuspunkt und Linsenst ¨ arke, wird der jeweilige Bereich unsch¨ arfer dargestellt. Die Methode f ¨ uhrt dazu, dass der Benutzer schneller auf die wichtigen Teile des Datensatzes hingewiesen wird. Die weiteren Methoden besch ¨ aftigen sich mit der Darstellung der inneren Struktur von Objekten. Die Methode des Focus+Context teilt dabei den Datensatz in einen Fokus und einen Kontextbereich. Objektteile, welche im Fokusbereich liegen, werden mittels DVR und den dazugeh¨ origen Transferfunktionen gerendert. Der Rest wird mit einer nicht photorealistischen Methode gerendert, welche nur die Umrisse der Objekte darstellt. Bei 3D Dithering wird der Inhalt von gleichm ¨ aßig verteilten W ¨ urfeln mit den vorgegebenen Transferfunktionen gerendert und vom dazwischen liegendem Rest werden nur die Konturen oder gar nichts dargestellt. Die letzte Methode, Magic Lamp, rendert Teile des Objektes mit DVR und den normalen Transferfunktionen nur dann, wenn deren Gradient nahezu parallel zu einer einstellbaren Richtung ist. Die restlichen Teile des Objekts werden wieder nur durch ihre Konturen dargestellt. 1

Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

Merkmals-Visualisierung fur VolumsdatenBakkalaureatsarbeit

Martin [email protected]

Institut fur Computergraphik und AlgorithmenTU Wien

18. Juni 2004

(a) (b) (c) (d)

Bonsai-Datensatz gerendert mit den im Paper vorgestellten Methoden: (a) Depth of Field, (b) Focus+Context,(c) 3D Dithering, (d) Magic Lamp

Kurzfassung

In diesem Paper werden Methoden vorgestellt, welche das Direct Volume Rendering (DVR) unterstutzen. Siesollen vor allem dazu dienen, innere Strukturen und wichtige Details besser darzustellen. Die Methode Depth

of Field adaptiert den Effekt der Tiefenunscharfe aus der Fotographie fur die Volumsvisualisierung. DerFokusbereich wird dabei scharf dargestellt und je nach Entfernung in Blickrichtung vom Fokuspunkt und

Linsenstarke, wird der jeweilige Bereich unscharfer dargestellt. Die Methode fuhrt dazu, dass der Benutzerschneller auf die wichtigen Teile des Datensatzes hingewiesen wird.

Die weiteren Methoden beschaftigen sich mit der Darstellung der inneren Struktur von Objekten. Die Methodedes Focus+Context teilt dabei den Datensatz in einen Fokus und einen Kontextbereich. Objektteile, welche im

Fokusbereich liegen, werden mittels DVR und den dazugehorigen Transferfunktionen gerendert. Der Restwird mit einer nicht photorealistischen Methode gerendert, welche nur die Umrisse der Objekte darstellt. Bei

3D Dithering wird der Inhalt von gleichmaßig verteilten Wurfeln mit den vorgegebenen Transferfunktionengerendert und vom dazwischen liegendem Rest werden nur die Konturen oder gar nichts dargestellt. Die

letzte Methode, Magic Lamp, rendert Teile des Objektes mit DVR und den normalen Transferfunktionen nurdann, wenn deren Gradient nahezu parallel zu einer einstellbaren Richtung ist. Die restlichen Teile des

Objekts werden wieder nur durch ihre Konturen dargestellt.

1

Page 2: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

1 Einleitung

Diese Arbeit befasst sich mit Methoden, welche dieVolumsvisualisierung effektiver machen. Unter der Vo-lumsvisualisierung versteht man die Darstellung vonVolumsdaten. Diese sind so aufgebaut, dass in einemregularen dreidimensionalen Gitter an jedem Kreu-zungspunkt ein Dichtewert definiert ist (Voxelwert).Die Dichtewerte konnen durch Methoden wie dieComputertomographie oder die Magnetressonanz-Tomographie simmuliert werden. Die Datensatze, wel-che in meiner Arbeit verwendet werden, stammen vonder Computertomographie.

Die Grundmethode welche ich zur Visualisierungder Daten verwendet habe stammt von Marc Le-voy [8]. Dabei wird fur jedes Pixel ein Strahl inBlickrichtung geschossen. Wenn dieser Strahl aufden Datensatz trifft so werden an bestimmten Punk-ten mit gleich bleibendem Abstand (den so genann-ten Sample-Punkten), die zugehorigen Dichtewerteberechnet. Die berechneten Werte werden mittelsTranfer-Functions in optische Eigenschaften transfor-miert. Die Transferfunktionen geben dabei an fur wel-chen Dichtewert welcher Farb- und Opazitatswert ver-wendet werden soll. Die dadurch gewonnenen Farb-werte werden entlang eines Strahls gemaß ihrer Opa-zitat akkumuliert. Ist die Gesamtopazitat entlang einesStrahls so hoch, dass die dahinter liegenden Punk-te nicht mehr nach vorne durchscheinen, dann istder Farbwert fur ein Pixel bestimmt. Durch Anwen-dung dieser Methode auf alle Pixel entsteht das Er-gebnisbild. Diese Methode wird, mit manchen kleinenAbanderungen, sehr oft in der Volumsvisualisierungverwendet.

In den meisten Fallen sind aber nur gewisse Teiledes gesamten Datensatzes von Interesse. Fur die Dia-gnostik in der Medizin kann es notwendig sein, dasszum Beispiel ein Tumor genauer betrachtet werdenmuss. Um solche Teile darstellen zu konnen muss-ten sehr gute Transferfunktionen zur Verfugung sein.Ware dies der Fall, so konnte man die unwichtige-ren Teile durch niedrige Opazitat ausblenden. Jedochist es sehr schwierig gute Transferfunktionen fur sol-che Falle zu finden. Es gibt Ansatze fur die automa-tische oder halbautomatische Bestimmung von Trans-ferfunktionen. In den Arbeiten von Taosong He, Gor-don Kindlmann und James W. Durkin [3–5] sind sol-che Methoden beschrieben. In den meisten Fallen istes aber trotzdem nicht moglich Transferfunktionen zufinden, welche dazu verwendet werden konnen spe-zielle Teile hervorzuheben. Dies kommt daher, dassdie Dichte der gesuchten Teile oft nicht bekannt istoder, haufiger, die zu betrachtenden Teile des Daten-satzes in einem Dichtebereich liegen, in dem auch an-dere Teile des Datensatzes liegen. In diesem Fall ist

es nicht moglich mit geeigneten Transferfunktionen dieMerkmale zu extrahieren, da es keinen Wertebereichgibt in dem nur die Teile von Interesse liegen.

Die eben genannte Problematik fuhrt dazu, dass diewichtigen Teile eines Datensatzes durch herkomm-liche Volumsvisualisierung, wie sie eben beschrie-ben wurde, nicht zufrieden stellend dargestellt werdenkonnen. In der Medizin kann es zum Beispiel sein,dass ein Tumor durch die Dichtewerte nicht vom um-gebenden Gewebe unterschieden werden kann. Istdies der Fall so konnte der Tumor nicht gut dargestelltwerden, da er immer vom umgebenden Gewebe ver-deckt wurde und so nie eine freie Sicht auf den Tumormoglich ist.

In diesem Paper werden Methoden vorgestellt, wel-che Losungen fur solche und ahnliche Probleme brin-gen. Neben den Transferfunktionen werden dabeinoch andere Parameter verwendet um den Farb- undOpazitatswert eines Sample-Punktes zu erhalten. Dieerste vorgestellte Methode (Depth of Field) war derEinstieg in diese Thematik und dient vor allem dazuden Benutzer schneller auf bestimmte Details hinzu-weisen. Die weiteren drei Methoden dienen dazu in-nere Strukturen besser darzustellen.

In den folgenden Kapiteln werden die Methoden zurMerkmals-Visualisierung noch genauer beschrieben.Zuvor werde ich aber einen Uberblick uber bestehen-de Arbeiten in diesem Gebiet geben.

2 Ahnliche Arbeiten

Es ist ein Schwerpunkt in der VolumsvisualisierungMethoden und Verfahren zu finden, welche Merkma-le in einem Datensatz hervorheben. Die folgenden Ar-beiten befassen sich mit dieser Aufgabe. Sie sind nurein Auszug aus der Vielzahl von Ansatzen fur dieseThematik. Sie dienen aber als Grundlage fur die vonmir beschriebenen Methoden.

Es gibt einige Ansatze welche sich diesem Pro-blem angenommen haben. Es gibt Ansatze, welcheauf segmentierte Daten angewendet werden konnen.Segmentierte Daten werden durch eine zusatzlicheDatei beschrieben. In dieser Datei sind Informationenenthalten, welche einen einzelnen Datenpunkt zu ei-nem Teil des Objekts zuordnet. Dadurch ergibt sichdie Moglichkeit Teile eines Objektes separat darzustel-len. Die Methode des Two-Level Rendering [2] ist eineder Methoden, die auf solche Daten angewandt wird.In dieser Arbeit wird erklart wie durch Anwendung ver-schiedener Renderingtechniken auf unterschiedlicheSegmente des Datensatzes interessante Teile hervor-gehoben werden konnen. Durch passende Wahl derRenderingtechniken konnen mit dieser Methode inne-re Strukturen gut dargestellt werden. Das Problem an

2

Page 3: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

dieser Methode ist jedoch, dass man dazu segmen-tierte Daten braucht. Es gibt noch keine zuverlassigenVerfahren welche diese Segmentierung automatischdurchfuhren konnen.

Fur Datensatze welche keine Informationen zurSegmentation haben, gibt es auch eine Reihe vonAnsatzen zur welche dazu dienen sollen Einblicke indie innere Struktur der Objekte zu gewinnen. Als Bei-spiel seien an dieser Stelle die Arbeiten von Jian-long Zhou [11, 12] genannt. In diesen Arbeiten wer-den je nach Position der Punkte verschieden Rende-ringtechniken angewandt. Somit wird der Datensatz ineinen Fokus- und einen Kontextbereich unterteilt. Furden Kontextbereich werden Nicht-Photorealistische-Renderingmethoden verwendet. Der Fokusbereichhingegen wird mit einer aufwendigeren Methoden ge-rendert.

Eine Einfachere Moglichkeit um innere Strukturendarzustellen ist das Clipping. Dabei wird der Daten-satz mit einer Ebene geschnitten. Somit wird ein Teildes Volumens weggeschnitten. Beim Raycasting kanndas Clipping ohne großen Aufwand eingebaut werden.Dabei werden die Sample-Punkte erst nach einer be-stimmten Lange des Strahls zur Komposition des Pi-xelfarbwerts verwendet. Das heißt, dass Datenpunkte,die innerhalb dieses Abstands liegen nicht in das Er-gebnisbild einfließen.

3 Methoden zur Merkmals-Visualisierung

Dieser Abschnitt beschreibt vier Methoden, welcheder Extraktion von Merkmalen dienen. Die Reihenfol-ge, in welcher sie hier angefuhrt sind, entspricht ih-rer Implementationsreihenfolge. Die vier unterschied-lichen Methoden sind fur unterschiedliche Einsatzge-biete verwendbar. Jedoch werden alle vier in der Vo-lumsvisualisierung verwendet.

In den folgenden Kapiteln (Implementation, Ergeb-nisse) wird erklart wie die Methoden implementiertwerden. Ausserdem werden noch weitere Ergebnis-bilder diskutiert und die Methoden miteinander vergli-chen.

3.1 Depth of Field

Beim Depth of Field soll der gleichnamige Effekt ausder Fotographie in der Volumsvisualisierung simuliertwerden. Dieser Effekt entsteht dadurch, dass in derFotographie eine Linse verwendet wird. In Abbildung1 ist ein Modell einer Linse abgebildet. Es ist zu er-kennen, dass die Linse einen bestimmten Fokuspunkthat. Gegenstande, die nahe an diesem Fokuspunkt

Gegenstands-größe

Bildgröße

FokuspunktFokuspunkt

BrennweiteBrennweite

Gegenstandsweite Bildweite

optische Achse

Linsenebene

Abbildung 1: Optische Linse. Der Brennpunkt ist dercharakteristische Wert einer Linse. Er bestimmt auchwelcher Teil einer Szene scharf dargestellt wird.

positioniert sind, werden auch scharfer im Bild darge-stellt. Je weiter ein Objekt von diesem Fokuspunkt ent-fernt ist, desto unscharfer wird es im Bild dargestellt. Inder Fotographie wird der Fokusbereich und die Starkedes Effekts durch den Abstand von Linsen in einemoptischen System und die Einstellung der Blende be-einflusst.

Den selbe Effekt gibt es auch im menschlichen Au-ge. Das Auge besteht auch aus einer Linse, welchemittels Muskeln ihre Krummung andern kann. Je nachdem wie diese Muskeln angespannt sind wird derFokuspunkt eingestellt. Sind die Muskeln entspannt,dann ist das Auge auf Fernsicht eingestellt.

In der Volumsvisualisierung wird ublicherweise voneinem anderen Modell ausgegangen. Man nimmt an,dass alles im Fokusbereich liegt und somit alle Tei-le scharf dargestellt werden. In Abbildung 2 ist dastheoretische Modell der Lochkamera dargestellt. Siebesitzt ein unendlich kleines Loch und ein unendlichempfindliches Photopapier. Durch das Loch ohne Lin-se gibt es keinen Fokuspunkt. Alle Teile einer Szenewurden somit scharf dargestellt werden.

Dieses Modell ist in vielen Fallen ideal fur dieVolumsvisualisierung, da alle Teile scharf dargestelltwerden und somit auch genau betrachtet werdenkonnen. Es ist das einfachste Modell. Ein scharfes Bildder ganzen Szene wird automatisch erzeugt, wenndas normale Raycasting-Verfahren angewendet wird.

Jedoch beinhaltet der Effekt des Depth of Field denVorteil, dass mit seiner Hilfe interessante Teile hervor-gehoben werden konnen. Wie in den Arbeiten von Ro-bert Kosara [6, 7] erwahnt wird, ist dieser Effekt furden Menschen sehr intuitiv. Dies kommt eben daher,dass das menschliche Auge nach demselben Prinzipdie Umgebung wahrnimmt. Es ist daher ein geeigne-

3

Page 4: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

Gegenstand

Loch

Bild

Abbildung 2: Theoretisches Modell einer Lochkamera.Objekte werden immer scharf dargestellt.

Abbildung 3: Schachspiel, dass mit Semantic Depth ofField gerendert wurde. Der Blick des Betrachters soll-te auf die scharf dargestellten Schachfiguren gelenktwerden. Quelle: [6]

ter Effekt um den Betrachter schnell auf die wichtigenTeile einer Szene zu lenken.

In der Arbeit von Robert Kosara [6] wurde der Effektfur Semantic Depth of Field verwendet. Die Teile einerSzene werden dabei nach ihrer Wichtigkeit eingestuft.Je essentieller dann ein Teil ist, desto scharfer wirdes dargestellt. Abbildung 3 zeigt ein mit dieser Metho-de gerendertes Schachspiel. Dabei sind die Figurenscharfer, welche gerade bei einem Spielzug beteiligtsind. Die Methode des Semantic Depth of Field wirdvor allem in der Informationsvisualisierung eingesetzt.Es mussen segmentierte Daten vorliegen um die Me-thode anwenden zu konnen.

Die hier vorgestellte Methode bezieht sich aufdie Volumsvisualisierung. In der Volumsvisualisierungliegen die Daten meistens nicht in segmentierterForm vor, daher ist die Methode Semantic Depth ofField nicht anwendbar. Bei Depth of Field wird die

DatensatzLinse

Sample-Punkte

FokuspunktLichtstrahl

Abbildung 4: Prinzip der Implementierung von Depthof Field in Volumsdaten durch mehrere Sample-Punkte.

Unscharfe abhangig vom Fokuspunkt gesteuert. Die-se Methode ist daher ein der Natur nachempfunde-nes Prinzip. Gleich dem menschlichen Auge oder ei-ner Kamera, gibt es einen Fokuspunkt, in dessen Be-reich die Szene am scharfsten dargestellt wird. Je wei-ter Teile der Szene vom Fokuspunkt entfernt sind, de-sto unscharfer werden sie dargestellt.

Wie zu Beginn dieses Kapitels schon kurz erwahntwurde, produziert das Raycasting-Verfahren automa-tisch scharfe Bilder. Daher ist es notwendig dasRaycasting-Verfahren zu adaptieren um den Effektdes Depth of Field erzeugen zu konnen.

Die von mir implementierte Methode funktioniertauch mit dem Raycasting-Verfahren. Es wird aber dasRaycasting mehrmals auf den Datensatz angewen-det und danach die einzelnen Ergebnisbilder zu einemResultierenden vereint. Abbildung 4 zeigt das Prinzipwie die verschiedenen Raycasting-Bilder erzeugt wer-den. Es werden auf einer Linse Sample-Punkte aus-gewahlt und fur jeden dieser wird ein Ergebnisbild mit-tels Raycasting erzeugt. Die Linse ist dabei nur sym-bolisch zu verstehen und soll nur einen Bereich an-geben in dem sich die Sample-Punkte befinden. EinSample-Punkt entspricht einer bestimmten Blickrich-tung auf den Datensatz. Die Strahlen beim Raycastingwerden dabei pro Sample-Punkt in die eine vorgege-bene Blickrichtung geschossen. Die Blickrichtung istbei einer realen Linse von ihrer Krummung und demdamit verbundenen Fokuspunkt abhangig.

Es gibt einige Parameter, welche den Effekt beein-flussen. Einer ist der Linsendurchmesser. Ist diesergroß so werden Teile, welche einen bestimmten Ab-stand zum Fokuspunkt haben, unscharfer dargestelltals bei einem kleineren Durchmesser. Der zweite Pa-rameter ist der Fokuspunkt: dieser gibt an in welchemPunkt sich die Raycasting-Strahlen der verschiede-

4

Page 5: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

nen Sample-Punkte treffen. Der Fokuspunkt definiertdaher eine Ebene in der Szene, in welcher die Tei-le am scharfsten dargestellt werden. Der dritte Para-meter der das Ergebnisbild beeinflusst ist die Anzahlder Sample-Punkte. Je mehr Sample-Punkte verwen-det werden umso feiner ist die Abstufung im Ergeb-nisbild. Wird ein großer Linsendurchmesser gewahlt,dann besteht die Notwendigkeit mehr Sample-Punktezu verwenden, da gerade bei hoher Unscharfe dieErgebnisse der verschiedenen Sample-Punkte starkvoneinander abweichen. Daher kann auch nur mit vie-len Sample-Punkten ein gutes Bild erzeugt werden.

Die Bilder der einzelnen Sample-Punkte werdendann einfach uberlagert und man erhalt dadurch einErgebnisbild. In Abbildung 5 ist ein Leopardengeckozu sehen, der mit der Methode Depth of Field ge-rendert wurde. Die zwei Bilder wurden dabei mit ei-nem unterschiedlichen Fokuspunkt gerendert. Im lin-ken Bild ist der Fokuspunkt weiter vorne und im rech-ten ist er weiter hinten.

(a)

(b)

Abbildung 5: Depth of Field Ergebnis einesLeopardengecko-Datensatzes. (a) Fokuspunkt imKopfbereich (vorne), (b) Fokusbereich am Schwanz(hinten)

Die Sample-Punkte werden zufallig ausgewahlt.Dies ist aber nur fur Einzelbilder sinnvoll. BeiAnimationen werden die Sample-Punkte moglichstgleichmaßig auf der Linsenflache verteilt. Dies ist not-wendig, da die einzelnen Ergebnisbilder bei zufalli-gen Sample-Punkten zu stark voneinander abweichenwurden und so die Animation nicht flussig Ablaufenwurde.

Der Vorteil dieser Methode liegt darin, dass der Be-trachter auf wichtige Teile einer Szene oder eines Da-

Focus-Bereich

Context-Bereich

Strahlen

Datensatz

Abbildung 6: Focus und Context Bereich.

tensatzes gelenkt werden kann. Sie kann vor allem beiVisualisierungen zu Prasentationszwecke eingesetztwerden. Jedoch ist die Methode sehr aufwendig, dafur ein Ergebnisbild ein Datensatz, je nach Anzahl derSample-Punkte, ofters gerendert werden muss. FurPrasentationszwecke ist es aber in den meisten Fallennicht so wichtig schnell das Ergebnis zu haben.

3.2 Focus+Context

Die zweite Methode der Merkmal-Extraktion, die ichvorstellen will, ist Focus+Context. Dies ist ein weit ver-breitete Methode, welche vor allem in der Informati-onsvisualisierung vorkommt. Es gibt aber auch schoneinige Methoden, welche Focus+Context auch auf dieVolumsvisualisierung anwenden.

Das Prinzip von Focus+Context ist relativ simple.Der gesamte Bereich im Betrachtungsfeld wird ineinen Focus-Bereich und in einen Context-Bereich un-terteilt. Der Focus-Bereich ist von besonderem Inter-esse und wird deshalb auch aufwendiger und genauerdargestellt. Der Context-Bereich soll nur einen Uber-blick uber den Rest der Daten geben.

In Abbildung 6 sieht man wie bei der hier vorgestell-ten Methode die Unterteilung von Focus-Bereich undContext-Bereich ist. Der Focus-Bereich ist eine Kugelund der Rest des Datensatzes ist einfach der Context-Bereich.

Um diese Einteilung in das Ergebnisbild einfließenzu lassen, werden die Strahlen beim Raycasting anjedem Sample-Punkt entlang des Strahls gepruft obsie innerhalb der Focus-Kugel sind. Ist dies der Fall sowird eine andere Methode verwendet um den dortigenFarb- und Opazitatswert zu ermitteln als im Context-Bereich. In den folgenden zwei Unterpunkten wird er-klart wie dieser Farb- und Opazitatswert in den ver-schiedenen Bereichen berechnet wird.

5

Page 6: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

Focus

Der Focus-Bereich wird, wie eben schon erwahnt, auf-wendiger gerendert als der Context-Bereich. In ihmbefinden sich die fur den Betrachter interessantenTeile. Ich habe daher die von Marc Levoy [8] ein-gefuhrte Methode verwendet. Dabei wird jedem Da-tenwert mittels einer Transferfunktionen ein Farb- undOpazitatswert zugeordnet. Zusatzlich wird noch derGradientenbetrag verwendet um Bereiche mit wenigAnderung durchsichtiger darzustellen, als Bereichemit großer Anderung. Dies erweist sich in den meis-ten Fallen als sinnvoll, da oft die Bereiche mit großerAnderung der Werte von mehr Interesse sind. SolcheBereiche sind zum Beispiel Objektgrenzen oder Kan-ten. Die Berechnung des Gradientenbetrages lasstsich von der Berechnung des Gradienten ableiten.Die Berechnung des Gradienten wird beim Context-Rendering-Verfahren noch genauer beschrieben.

Die Grenzen zum Context Bereich werden als Kom-bination der beiden Rendering-Methoden dargestellt.Dabei werden die zwei Bereiche kontinuierlich mit-einander vermischt. Die Vermischung erfolgt mittelsInterpolation zwischen den Farb- und Opazitatswer-ten der beiden Bereiche. Der Ubergang von derContext- zur Focus-Renderingmethode erfolgt kom-plett im Focus-Bereich. Je naher ein Sample Punkt derFocus-Grenze ist, desto mehr Einfluss hat der Farb-und Opazitatswert der Context-Rendering-Methode.

Context

Der Context-Bereich dient hauptsachlich dazu um dieStruktur des Objekts darzustellen. Er soll aber nichtdie Sicht auf das Wesentliche verdecken. Wie auch inden Arbeiten von Penny Rheingans und Balazs Cseb-falvi [1, 9] nachzulesen ist, ist die beste Moglichkeitdies zu gewahren, wenn nur die Silhouetten der Ob-jekte dargestellt werden. In den nachsten drei Unter-punkten wird mein Losungsweg zur Extraktion der Sil-houetten beschrieben.

Gradientenberechnung: Der Gradient an einerStelle im dreidimensionalen Raum lasst sich mit demNabla-Operator berechnen.

∇f(x, y, z) =(

δf

δx,δf

δy,δf

δz

)(1)

Die Formel 1 ist die exakte Losung fur den Gradi-enten. Dazu muss aber eine Funktion gegeben seinwelche das Volumen angibt. In der Visualisierung be-stehen die Datensatze aber aus Punktwolken und be-sitzen auch keine Funktion welche das Volumen be-schreibt.

Im Falle von diskreten Werten, wie sie in der Vo-lumsvisualisierung vorkommen, muss man Methodenverwenden, welche die exakte Gradientenberechnungannahern. Es gibt eine Reihe von Methoden und Fil-tern welche diese Aufgabe losen. Ich habe die Metho-de der zentralen Differenzen verwendet.

Bei dieser Methode wird die Berechnung des Nabla-Operators einfach auf diskrete Werte ubertragen.

∇f(xi, yi, zi) =12f(xi−1, yi, zi)− 1

2f(xi+1, yi, zi)12f(xi, yi−1, zi)− 1

2f(xi, yi+1, zi)12f(xi, yi, zi−1)− 1

2f(xi, yi, zi+1)

(2)

In dieser Formel 2 sieht man dass zur Bestimmungder einzelnen Komponenten die Differenz der zwei an-grenzenden Werte in den drei Hauptachsrichtungenverwendet wird. Dies ist eine grobe Annaherung andie partiellen Ableitungen in der exakten Formel.

Es gibt noch eine Reihe aufwendigerer Filter, wel-che mehr als nur sechs benachbarte Werte in die Gra-dientenberechnung mit einbeziehen. Jedoch steigt da-durch auch der Rechenaufwand. Fur Focus+Contexthat sich die Methode der zentralen Differenzen an denErgebnissen als effizient erwiesen.

Betonung der Grenzen: Das Ergebnis der Gradi-entenberechnung kann nun verwendet werden um dieOpazitat so zu steuern, dass die Grenzen der Objektestarker zur Geltung kommen als gleich bleibende Re-gionen. Jeder Skalarwert bekommt durch die Trans-ferfunktion schon eine bestimmte Opazitat und einenbestimmten Farbwert zugewiesen. Der Farbwert wirddurch die Gradienten Extraktion nicht verandert. DerOpazitatswert wird wie folgt verandert:

og = ov

(kgc + kgs

(‖∇f‖‖∇max‖

)kge)

(3)

In dieser Formel ist ov der Opazitatswert, welchendas Voxel nach der Transferfunktion besitzt. ∇f istder Wert des Gradienten an der betrachteten Stelle.∇max ist der maximale Wert eines Gradienten, wel-cher im betrachteten Datensatz auftreten kann. DieDivision der beiden Gradientenbetrage bewirkt, dasssteile Ubergange mehr Opazitat haben als wenigerscharfe Kanten.

Die Koeffizienten kgc, kgs und kge beeinflussen dieDarstellung der Grenzen. kgc steuert den Einfluss derOriginalopacity. Ist kgc im Vergleich zu kgs klein, sowerden fast ausschließlich die Grenzen dargestelltund keine Zwischenraume. Der Koeffizient kge beein-flusst die Scharfe der Kanten. Ist er hoch so werdendie Kanten feiner.

6

Page 7: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

(a) (b)

Abbildung 7: Maschinenblock, (a) mit einer einfachenTransfer Function, (b) mit Betonung der Grenzen

In Abbildung 7 sieht man das Ergebnis bei An-wendung der obigen Formel. Fur das in (b) erzeugteBild wurden die Koeffizienten auf kgc = 0, kgs = 1und kge = 0.7 gesetzt. Im nachsten Abschnitt wirdnun noch beschrieben wie man diese Grenzen inAbhangigkeit der Blickrichtung darstellt.

Betonung der Silhouetten: Wie man in Abbildung7 (b) sieht, geht durch die Betonung der Grenzendie Tiefeninformation verloren. Diese ist in der Abbil-dung (a) noch gut ersichtlich. Allerdings bekommt maneinen besseren Einblick in die inneren Strukturen ei-nes Objektes. Um diesen Einblick noch zu verstarkenist es von Vorteil, nur die Silhouetten von Objekten imDatensatz darzustellen. Somit werden storende Gren-zen, die nicht zur Silhouette gehoren, nicht dargestellt.Diese Teile sind relativ unwichtig, da man sie durch diefehlende Tiefeninformation schwer zuordnen kann.

Die Formel fur die Berechnung der Silhouetten lau-tet:

os = og

(ksc + kss (1− abs(∇fn ∗ v))kse

)(4)

og ist dabei die berechnete Opazitat von zuvor. Dasbedeutet es werden nur die zuvor berechneten Gren-zen weiter modifiziert. Es gibt auch Ansatze, in de-nen statt der Opazitat der Grenzberechnung og nurdie zuvor verwendete Opazitat der Transfer Functionov verwendet wird. Dies hat den Effekt zur Folge, dassfeinere Kanten mehr zur Geltung kommen. Dadurchverliert man allerdings Informationen uber die Dich-te des Materials, da dadurch der Voxelbetrag gar kei-nen direkten Einfluss auf die Opazitat an einer Stellehat.∇fn ist der normierte Gradient (auch Normale ge-nannt) und v ist die Blickrichtung. Das skalare Produktder beiden ist dem cos des Winkels zwischen den Vek-toren gleichzustellen. Das bedeutet, dass Bereiche indenen der Gradient eher orthogonal zur Blickrichtungsteht, starker berucksichtigt werden.

Die Koeffizienten ksc und kss steuern den Ubergangder Kanten. Ist kss im Vergleich zu ksc hoch so werdennur Silhouetten dargestellt. Umgekehrt werden Gren-zen, die nicht zur Silhouette gehoren, auch undurch-sichtiger dargetellt. Wenn ksc = 1 und kss = 0 dannentspricht das Ergebnis genau dem in Abbildung 8 (b)dargestelltem Bild.

(a) (b)

(c) (d)

Abbildung 8: Maschinenblock mit ksc = 0 und kss = 1,(a) kse = 0.5, (b) kse = 1, (c) kse = 1.7, (d) kse = 2.5

kse steuert die Scharfe der Silhouette. Je hoher kse

desto feiner werden die Silhouetten dargestellt. In Ab-bildung 8 sieht man den schon in Abbildung 7 ver-wendeten Maschinenblock in einer Darstellung mit be-tonten Silhouetten. Die vier Bilder wurden mit unter-schiedlichen Werten fur kse gerendert.

Bei der Implementation werden noch Parameterverwendet, um die Opazitat des Context-Bereichs inAbhangigkeit zum Abstand vom Focus-Bereich zusteuern. Der Context wird daher in der naheren Umge-bung des Focus-Bereich starker dargestellt als etwasweiter davon entfernt.

Um ein Ergebnisbild durch die Focus+Context Me-thode zu erhalten, wird fur jeden Sample-Punkt ent-lang eines Strahls ein Farb- und Opazitatswert ent-sprechend seiner Lage (entweder Focus-, Context-Bereich oder eine Interpolation der beiden im Uber-gangsbereich) ermittelt. Die Werte entlang einesStrahl werden danach mittels des Kompositionsver-

7

Page 8: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

fahren, wie es auch in der Arbeit von Marc Levoy [8]erwahnt ist, zu einem resultierende Farbwert fur dasentsprechende Pixel vermischt.

In Abbildung 9 ist das Ergebnis der Focus+ContextMethode zu sehen. Der Focus-Bereich ist allen vierBildern leicht zu erkennen und wird auch nicht von da-vor liegenden Teilen verdeckt, da im Context-Bereichnur die Silhouetten dargestellt werden.

(a) (b)

(c) (d)

Abbildung 9: Bonsai Datensatz einer Computertomo-graphie. Die Position des Focus-Bereichs in den vierBildern ist unterschiedlich.

Der Einfluss des Transferkoeffizienten ist in Abbil-dung 10 abgebildet. In Bild (a) ist der Koeffizient hoherals in Bild (b). Durch einen kleineren Transferkoeffi-zienten wird der außere Bereich des Focus-Bereichtransparenter dargestellt und gibt so den Blick auf deninneren Bereich frei.

Der Vorteil von Focus+Context besteht darin, dassman unwichtige Teile mehr oder weniger mit Hilfedes Context-Bereichs ausblenden kann, aber den-noch einen Uberblick uber diese Teile hat. Diese Me-thode ist daher in der Volumsvisualisierung sehr guteinsetzbar. Zum Beispiel mussen in der medizinischenVisualisierung bestimmte Teile eines Korpers genauerbetrachtet (zum Beispiel ein Tumor) werden, wahrendman mit dem Context nur sehen will, wo dieses Teil imKorper liegt. Es gibt aber noch eine Reihe anderer An-wendungen, bei denen ein solcher Effekt wunschens-wert ist.

(a) (b)

Abbildung 10: Maschinenblock mit Focus+Context ge-rendert. In Bild (a) ist der Ubergang zwischen denzwei Bereichen starker als in Bild (b).

3.3 3D Dithering

Die dritte Methode, auf welche ich in diesem Papereingehen mochte, ist das 3D Dithering. Es handeltsich dabei um eine Abwandlung des aus der Drucke-rei bekannten Dithering. Beim Dithering, auch Ditherngenannt, werden Schwarz-Weiß- oder Farbgrafiken“weichgezeichnet”. Man erreicht dies durch die Simu-lation von Farben und Graustufen uber Punktmuster,die zusatzliche Zwischentone erzeugen konnen. Eswerden mehr Farbwerte dargestellt, als das Ausgabe-gerat eigentlich wiedergeben kann. Das fuhrt zwar zueiner gewissen Unscharfe der Darstellung, hat aberden Vorteil, dass das menschliche Auge die einzel-nen Farbwerte der Bildpunkte nicht erkennt, sondernnur fließende Ubergange zwischen den Farben oderGrauwerten.

In Abbildung 11 ist ein Beispielbild, welches mit ei-nem solchen Dithering-Verfahren dargestellt wurde.Durch die Große und den Durchmesser der Dithering-Punkte wirken Teile im Bild heller und andere dunk-ler. Das menschliche Auge nimmt nicht die einzel-nen Punkte wahr sondern den gesamten Farbton. Da-durch lasst sich trotz der einfachen Darstellung daseigentliche Bild leicht erkennen.

Das Dithering wird, wie bereits erwahnt, in der Dru-ckerei eingesetzt. Das hat den Grund, dass durch die-ses Verfahren Farben eingespart werden konnen, daFarben durch Dithering-Muster mit vorhandenen Far-ben erzeugt werden konnen. In der Volumsvisualisie-rung bringt dieser Vorteil eigentlich nichts, da am Bild-schirm alle Farben vorhanden sind. Die Idee meinesAnsatzes ist jedoch durch die Darstellungen eines Da-tensatzes in Punkten (Quadern) einen besseren Ein-blick in die inneren Bereiche des Datensatzes zu be-kommen.

Ein weiterer Einflussfaktor fur meinen Ansatz wardie Arbeit von Ivan Viola [10]. In dieser Arbeit ist eine

8

Page 9: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

Abbildung 11: Beispiel eines Bildes das mit Ditheringdargestellt wird (Quelle: Stefan Roettger, UniversitatStuttgart).

Datensatz

Dithering-QuaderRaycasting-Strahlen

Abbildung 12: Schematische Darstellung der 3DDitheringmethode.

Methode beschrieben in der Teile des Objektes nachihrer Wichtigkeit eingestuft werden. Weniger wichtigeTeile werden durchsichtiger dargestellt, um die wichti-geren Teile hervorzuheben. In einem Ansatz wird dieDurchsichtigkeit mittels “Screen-Door” gesteuert. Da-bei wird nur ein Gitter des unwichtigeren Teil darge-stellt. Dazwischen liegen durchsichtige Flachen, durchwelche die Sicht auf dahinter liegende Teile freigege-ben wird.

In der hier beschriebnen Methode des 3D Ditheringhabe ich diese beiden Ansatze vereint. Die Idee da-bei ist, den Datensatz in “Punkte” zu unterteilen. ImDreidimensionalen werden solche “Punkte” als Qua-der verwirklicht. Diese Quader werden gleichmaßigim Datensatz verteilt. In Abbildung 12 sieht man eineschematische Darstellung dieser Idee.

Die Dithering-Quader kennzeichnen Bereiche in de-nen eine andere Renderingmethode verwendet wird.Liegt ein Sample-Punkt eines Strahl in einem solchenQuader, dann wird der Farb- und Opazitatswert nachder im vorherigen Kapitel beschriebenen Methode vonMarc Levoy [8] ermittelt. Die Farb- und Opazitatswertedes dazwischen liegenden Freiraums werden mit demim Kapitel Focus+Context beschriebenen Verfahrenzur Darstellung des Context ermittelt. Der Farbwertdes resultierenden Pixels wird wieder mittels Kompo-sition ermittelt.

Die Verwendung der Context-Rendering-Methodefur den Freiraum hat sich als sehr sinnvoll erwiesen.Die Silhouetten dienen der Zuordnung der Dithering-Quader. Es ist somit einfacher die Lage des Dithering-Quaders im Datensatz zu erkennen. Versuche in de-nen der Freiraum einfach als durchsichtig angenom-men wurde, haben sich deshalb nicht bewahrt.

Der Nutzen der 3D Dithering Methode soll es seineinen Uberblick uber das Innere eines Objekts zubringen. Dadurch dass der Freiraum mit der Context-Methode gerendert wird, ist dieser relativ durchschei-nend und gibt so den Blick auf Dithering-Quader imInneren des Datensatzes frei.

Um beim Raycasting einen Sample-Punkt einemDithering-Quader oder einem Freiraum zuzuordnen,verwende ich eine Maske. Diese Maske hat die-selbe Große wie der Datensatz. Sie wird in einemPreprocessing-Schritt mit Werten befullt. An Stellen,an denen ein Dithering-Quader liegt, stehen andereWerte als an Stellen an denen sich ein Freiraum be-findet.

Wahrend des Rendering-Verfahrens wird fur jedenSample-Punkt zusatzlich zu den Daten auch der Wertin der Maske ermittelt. Dies geschieht mittels der“Nearest-Neighbor”-Methode. Dabei wird einfach derWert des Punktes verwendet, welcher dem Sample-Punkt raumlich am nachsten ist. Steht an dieser Stel-le ein Wert, welcher einem Dithering-Quader zuge-schrieben wird, so wird der Farb- und Opazitatswertmit den Transferfunktionen ermittelt ansonsten wird ermit der Methode zum Rendern des Context ermittelt.

Die Maske wird einmalig fur den Datensatz ermit-telt und danach nicht mehr geandert. Das heißt, dassbei einer Transformation des Datensatzes (Drehung,Skalierung) sich die Position oder Ausrichtung derDithering-Quader nicht andert. Somit kann der Daten-satz gedreht werden und man erhalt dadurch einenbessere Einsicht auf alle Dithering-Quader. Um denSpeicheraufwand fur die Maske klein zu halten reichtes aus einen Wert als Dualwert abzuspeichern. Mehrwird nicht gebraucht, da es nur die Unterteilung inDithering-Quader und Freiraum gibt.

In Abbildung 13 ist ein Ergebnisbild der 3D Dithe-ring Methode zu sehen. Die Rotation des Datensatzes

9

Page 10: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

(a) (b)

(c) (d)

Abbildung 13: Maschinenblock gerendert mit der 3DDithering Methode. Die vier Bilder unterscheiden sichin ihrer Orientierung. Angefangen bei Bild (a) wird je-des weitere Bild um 90◦ weiter gedreht.

in den vier Bildern ist unterschiedlich. Durch das per-spektivische Rendering hat man so einen guten Ein-blick auf die inneren Dithering-Quader.

Ich habe in meiner Implementation einige Pa-rameter verwendet, welche das Dithering-Musterverandern. Einerseits lasst sich die Große derDithering-Quader variieren. Wird dieser Parametererhoht so werden weniger Quader dargestellt. Große-re Quader bieten einen groberen Einblick in die Da-ten. Das kann dazu verwendet werden um einen gro-ben Uberblick uber das Innere eines Datensatzes zubekommen. Ein weiterer Parameter bestimmt die Di-stanz zwischen den Dithering-Quadern. Je großer die-ser Parameter ist, desto einfacher sind die innerenQuader zu sehen. Jedoch wird dadurch mehr vom Da-tensatz nur mit Context-Methode gerendert.

Es ist notwendig, dass diese Parameter wahlbarsind, da sonst Teile, welche in den Zwischenraum-en liegen, nie mit der Rendering-Methode fur denDithering-Quader gerendert wurden.

(a) (b)

Abbildung 14: Hummer gerendert mit der 3D DitheringMethode. In Bild (a) sind die Dithering-Quader und derAbstand zwischen ihnen großer als in Bild (b).

Die Abbildung 14 zeigt einen Hummer-Datensatz,welcher mit der 3D Dithering Methode gerendert wur-de. Das linke Bild wurde dabei mit hoheren Werte furdie Distanz und Große der Dithering-Quader geren-dert. Es ist gut erkennbar, dass die Silhouetten imFreiraum einen guten Uberblick uber den gesamtenDatensatz bieten.

Die beschriebene Methode eignet sich besondersgut zur Entdeckung interessanter Teile in einem Da-tensatz. Wenn eine “vernunftige” Transferfunktion vor-handen ist, kann man relativ schnell interessante Teilean deren Farbe erkennen. Mit 3D Dithering sticht dannder Dithering-Quader, welcher den interessanten Teilschneidet, heraus. Dessen Lage ist somit einfach zuerkennen. Nach der Ermittlung der Lage kann man aufdie im vorherigen Kapitel vorgestellte Focus+ContextMethode umsteigen und eben den Fokusbereich aufdie im 3D Dithering ersichtliche Position setzen.

3.4 Magic Lamp

Wie bei Focus+Context und bei 3D Dithering geht esauch darum die Daten in einen Focus und einen Con-text Bereich zu unterteilen. In diesen beiden Ansatzenund auch in allen anderen gangigen Ansatzen (sieheKapitel ahnliche Arbeiten) wird der Focus-Bereich undder Context-Bereich immer raumlich getrennt. Dasheißt es das die Renderingmethode, ob Focus oderContext, abhangig ist von der Lage des jeweiligenSample-Punktes am Strahl.

Die Magic Lamp Methode ist ein neuer Ansatz indem der Context-Bereich und der Focus-Bereich nichtraumlich von einander getrennt werden. Sie soll einenneuen, anderen Einblick in den Datensatz bringen.

Der Name Magic Lamp wurde deshalb gewahlt, weildie Einteilung in Focus-Bereich und Context-Bereichabhangig von einer bestimmten Richtung (genauer:die Richtung der Normalvektoren) ist. Die Annahme istdaher, dass aus einer Richtung eine Art Lampe strahlt.

10

Page 11: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

Blickrichtung

Magic Lamp Richtung

Normalvektor

Objekt

Abbildung 15: Schematische Darstellung der MagicLamp Methode.

Da diese Lampe allerdings nicht die Eigenschaften ei-ner normalen Lampe aufweist kommt der Name Ma-gic Lamp. Bei einer normalen Lichtlampe werden dieangestrahlten Teile je nach Lage zur Lichtquelle hel-ler oder dunkler dargestellt. In der hier vorgestelltenMethode bestimmt die “Lampe” nicht die Helligkeit derangestrahlten Teile sondern die fur diesen Teil verwen-dete Rendering-Methode. Zusatzlich zur Magic Lampgibt es aber noch eine normale Lichtquelle, welche un-abhangig von der Magic Lamp die Szene bestrahlt.

Die Idee an dieser Methode ist Objektgrenzen oderKanten, welche in die Richtung der “Lampe” gerich-tet sind, hervor zu heben. Der Vorteil zu bestehendenLosungen welche Focus- und Context-Bereiche unter-teilen ist, dass bei dieser Methode die jeweiligen Teileunabhangig von ihrer Position im Datensatz hervor-gehoben werden. Durch geeignete Wahl der Lampen-richtung konnen so gewunschte Teile des Datensat-zes hervor gehoben werden. Die Sicht auf diese Teileist auch nicht verdeckt, da der restliche Daten mit ei-ner Context-Rendering-Methode gerendert werden.

In Abbildung 15 ist eine schematische Darstellungder Magic Lamp Methode dargestellt. Die Umrandungdes Objekts soll die Objektgrenzen darstellen. DieRichtung des Normalvektors der Objektgrenze und dieRichtung der “Lampe” beeinflussen dabei die Wahl derRendering-Methode.

Die Position der Lampe kann verandert werden, da-mit die Teile eines Objekts im Focus-Bereich sind, wel-che fur den Betrachter von Interesse sind. Es reichtaber auch nur die Richtung aus der die “Lampe” strahltanzugeben. Dies reicht deshalb aus, weil bei dieserMethode davon ausgegangen wird, dass die MagicLamp unendlich weit entfernt ist und daher die Strah-len parallel verlaufen. Deshalb muss nur eine Rich-tung angegeben werden, da die anderen parallel dazuverlaufen.

Der Focus-Bereich wird wieder, wie in vorhergehen-den Kapiteln, mit der Methode von Marc Levoy [8] ge-rendert. Vom Rest werden nur die Silhouetten geren-dert (siehe Kapitel Focus+Context). Das Ergebnisbildwird durch die Komposition der Farb- und Opazitats-werte entlang der Strahlen beim Raycasting ermittelt.

Mit Hilfe des Normalvektors wird die Rendering-Methode fur einen Sample-Punkt gewahlt. Der Nor-malvektor ist der normierte Gradient. Der Gradi-ent eines Sample-Punkts wird mit der Zentralen-Differenzen-Methode ermittelt. Der Normalvektorkann aus dem Gradienten gewonnen werden, wenndieser durch seine Lange dividiert wird.

Die eigentliche Klassifikation erfolgt mit folgenderFormel:

cos ϕ = vml × n (5)

vml ist dabei ein normierter Vektor, welcher in dieRichtung der Strahlen der Magic Lamp zeigt. n ist derNormalvektor. Das skalare Produkt × liefert bei nor-mierten Vektoren den cos des dazwischen liegendenWinkels. Ist der cos ϕ gleich 0 dann stehen die bei-den Vektoren orthogonal aufeinander. Ergibt das ska-lare Produkt 1 so zeigen beide Vektoren in die gleicheRichtung. Der fur diese Methode relevante Wert derGleichung ist aber −1. Dann zeigt der Normalvektorgenau gegen den Vektor der Magic Lamp. Das heißtdas die Objektgrenze genau in Richtung der “Lampe”gerichtet ist.

Um die Rendering-Methode fur einen Punkt zuwahlen muss noch ein Bereich in der Umgebungvon −1 gewahlt werden. Liegt das Ergebnis des ska-laren Produkts in diesem Bereich, dann wird der Wertdes Punkts mit den normalen Transferfunktionen ineinen Farb- und Opazitatswert transformiert. Da dercos nicht kleiner als −1 sein kann braucht der Bereichnur von [x,−1] reichen. Je großer dieser Bereich istdesto mehr Punkte werden mit den normalen Trans-ferfunktionen gerendert. x soll dabei aber nicht großeroder gleich 0 sein. Ansonsten wurden zu viele Punkteklassifiziert. Die restlichen Teile des Objekts, welchenicht in diesem Bereich liegen, werden nur als Silhou-etten dargestellt.

Durch die Normierung kommt es auch dazu, dassbetragsmaßig kleine Gradienten nicht mehr von be-tragsmaßig großen Gradienten unterschieden werdenkonnen. Dies fuhrt dazu, dass mehr Teile im Klassi-fikationsbereich liegen und dadurch auch mehr Teiledes Objekts mit den normalen Transferfunktionen ge-rendert werden. Dies reduziert den Einblick in den Da-tensatz, da mehr Teile verdeckt werden. In den meis-ten Fallen sind betragsmaßig kleine Gradienten auchvon wenig Interesse, da sich an diesen Stellen die Da-ten kaum andern und daher nur kleine Objektgren-zen sind oder auch nur Unstetigkeiten im Datensatz

11

Page 12: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

(a) (b)

(c) (d)

Abbildung 16: Bonsai-Datensatz gerendert mit derMagic Lamp Methode. In Bild (a) ist die Richtung ausder die Magic Lamp “strahlt” eher oben, bei (b) unten,bei (c) strahlt sie von links und bei (d) von rechts.

auftreten. Damit diese Stellen nicht klassifiziert wer-den, empfiehlt es sich einen Grenzwert einzufuhren,welcher betragsmaßig kleine Gradienten herausfiltert.Dieser Grenzwert ist abhangig von dem maximalenWert, welcher in einem Datensatz auftreten kann. Ausdiesem Wert kann man einen maximalen Gradientenberechnen. Es hat sich in Versuchen herausgestellt,dass das 0.2 . . . 0.25-fache des Betrags vom maxima-len Gradienten ein guter Grenzwert ist. Dabei ist dieWahl des Koeffizienten abhangig von der Starke derObjektgrenzen in einem Datensatz.

Fur die Gradienten, welche unter diesen Grenzwertfallen wird der Normalvektor auf 0 gesetzt. Dadurchergibt das skalare Produkt vml × n auch 0. Damit wer-den diese Teile nicht Klassifiziert und daher mit derSilhouetten-Methode gerendert.

In Abbildung 16 ist ein Ergebnis dieser Methode ab-gebildet. Es zeigt den Bonsai-Datensatz, welcher vier-mal mit unterschiedlicher Position der Magic Lamp ge-rendert wurde. Am Stamm des Bonsai ist leicht zu er-kennen, dass nur die Objektgrenzen bei der Klassi-fikation berucksichtigt werden. Im Bild (a) ist ersicht-lich wie viele Blatter in Richtung der Sonne gerichtetsind, da dort die Magic Lamp von oben auf den Bonsai“strahlt”.

Der Ubergang zwischen den beiden Bereichen istin den meisten Fallen sehr kantig. Das kommt daher,dass die Gradientenberechnung mit der Methode derzentralen Differenzen nur einen Annaherung an den

(a) (b)

Abbildung 17: Hummer gerendert mit unterschied-lichen Einstellungen fur den Abweichungswinkel. InBild (a) betragt der Winkel nur 12◦, in Bild (b) betragter 25◦.

eigentlichen Gradienten ist. Ein weiterer Faktor dafurist, dass sich der Gradient zwischen zwei benachbar-ten Sample-Punkten stark andern kann. Aus diesenGrunden sehen die Kanten an den Ubergangen sehrausgefranst aus.

Um dem entgegen zu wirken hat es sich bewahrteinen Ubergangsbereich zwischen den beiden Berei-chen zu machen. Dieser Ubergangsbereich gestal-tet sich so, dass der Wechsel vom einen Bereich inden anderen nicht mehr sprunghaft sondern kontinu-ierlich verlauft. Dadurch verschwinden die ausgefran-sten Kanten am Ergebnisbild. Der Ubergang wurde sogelost, dass in diesem Ubergangsbereich die Farb-und Opazitatswerte der beiden Bereiche interpoliertwerden. Die Interpolation beginnt an der Klassifikati-onsgrenze der beiden Bereiche. Dort ist der Einflussdes Farb- und Opazitatswert der normalen Transfer-funktion am großten. Je mehr der Winkel zwischendem Normalvektor und dem Vektor der Magic Lampabweicht, desto großer wird der Einfluss der Farb- undOpazitatswerte der Silhouetten-Rendering-Methode.

Der Parameter welcher die Große des Ubergangs-bereichs angibt ist frei wahlbar. Ebenso ist auch derParameter wahlbar, welcher die Abweichung des Nor-malvektors vom Vektor der Magic Lamp angibt freiwahlbar. Mit diesen beiden Parametern kann das Aus-sehen des Ergebnis stark verandert werden.

Abbildung 17 zeigt ein Rendering-Ergebnis von ei-nem Datensatz eines Hummers. Die zwei Bilder wur-den mit unterschiedlichen Parametern fur den Abwei-chungswinkel zur Klassifikation der Bereiche geren-dert. In Bild (b) ist der Bereich großer und dahersind auch mehr Teile des Hummers mit der normalenTransferfunktion gerendert.

12

Page 13: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

4 Implementation

In diesem Abschnitt werde ich kurz auf die Imple-mentation des Programms eingehen, welches die Bil-der der eben genannten Methoden erzeugen kann.Ich werde auch kurz die Probleme erwahnen welchewahrend der Implementation aufgetreten sind.

Das Programm wurde in C++ erstellt. Die Program-mierumgebung, welche ich dafur verwendet habe warVisual Studio 6. Zusatzlich wurde noch VTK (Visua-lization Toolkit von Kitware, http://www.vtk.org) ver-wendet. Die Oberflache fur das Programm ist mit Qtvon Trolltech (http://www.trolltech.com) gestaltet. DerGrund warum ich Qt verwendet habe ist die Moglich-keit das VTK Ergebnis relativ einfach in Qt darstellbarsind. Ein weiterer Grund ist auch die Portierbarkeit vonQt.

Alle vier Methoden basieren auf dem gleichen Ray-casting Prinzip. Dabei wird ein Farb- und Opazitats-wert fur jeden Sample-Punkt ermittelt. Die ermitteltenFarben werden dann entlang jedes Strahls nach ihrerOpazitat zu einer resultierenden Farbe vermischt. Daspassiert von vorne nach hinten und wird wenn eine be-stimmte Gesamtopazitat erreicht wird abgebrochen.

Da das Raycasting bei allen Methoden gleich ist,hangt das Ergebnis nur von der Transformation derWerte der Sample-Punkte auf den Farb- und Opa-zitatswert ab. Die Transformation erfolgt mit einerTransferfunktion, in der fur jeden Wert im gesamtenWertebereich ein Farb- und Opazitatswert festgelegtist. Je nach Methode wird eine unterschiedliche Trans-ferfunktion an einer Stelle benutzt oder die Opazitatzusatzlich verandert (zum Beispiel durch den Gradi-enten).

Zur Losung dieser Aufgabe habe ich dieRaycasting-Klasse von VTK so modifiziert, dassje nach Wahl der jeweiligen Methode andere Werteberechnet werden. Das heißt, dass eine Klasse aus-reicht um alle Methoden zu rendern. Der Vorteil dersomit entsteht ist, dass dadurch auch jede beliebigeKombination der vier Methoden moglich ist.

Fur die Komposition der Sample-Punkte entlang ei-nes Strahls habe ich die vorgefertigte Klasse von VTKverwendet. Das Ergebnis wird in einem Qt-Widgetausgegeben. Um das Ergebnisbild in einem Qt-Widget ausgeben zu konnen habe ich die Klassen vonMatthias Konig (http://www.matthias-koenig.net/vtkqt)verwendet, die ein VTK-Fenster in einem Qt-Widgetdarstellen.

Abbildung 18 zeigt einen Screenshot meines Pro-gramms. Links kann man in den verschiedenen Kar-teikarten die Einstellungen fur die einzelnen Metho-den vornehmen. Mit Hilfe der Check Boxen wird die zuverwendende Methode fur das Rendern ausgewahlt.

Die wahrend der Implementation auftretenden Pro-

Abbildung 18: Screenshot des Programms.

bleme waren hauptsachlich programmiertechnischenUrsprungs. Es gab vor allem Schwierigkeiten mit denVTK Klassen. Daher hab ich einige Klassen umge-schrieben, um sie verwenden zu konnen. Zu Beginnder Implementation trat auch das Problem auf dasVTK Fenster in einem Qt-Widget darzustellen. Mit Hil-fe der Klassen von Matthias Konig konnte dieses Pro-blem allerdings gelost werden.

Der Arbeitsaufwand betragt geschatzte 380 Stun-den fur die Implementation. Wobei aber ein Großteildieser Zeit fur das Einlernen von C++, VTK und Qtgebraucht wurde.

5 Ergebnisse

In diesem Abschnitt sind einige Ergebnisbilder dervier vorgestellten Methoden abgebildet. Sie wurdenalle mit dem von mir erstellten Programm gerendert.Die Bilder sollen dazu dienen die Vorteile der einzel-nen Methoden hervor zu heben. Alle verwendeten Da-tensatze stammen aus der Computertomographie.

Depth of Field

Die zwei Abbildungen 19 und 20 zeigen zwei Ergeb-nisse der Depth of Field Methode. Der Datensatz inAbbildung 19 stammt von einem menschlichen Kopf.Die Große des Datensatzes ist 184×256×170. Die Da-tenwerte bewegen sich zwischen 0 und 4096. In Bild(a) wurde der Fokuspunkt am vorderen Ende (Kiefer)gesetzt, in Bild (b) im Bereich der Ohren.

Abbildung 20 zeigt einen Motorblock. Die Große desDatensatz ist 256 × 128. Der Wert eines Datenpunktskann zwischen 0 und 256 liegen. In dieser Abbildungist in Bild (a) der Fokuspunkt am vorderen Ende undin Bild (b) am hinteren Ende des Objekts.

13

Page 14: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

(a) (b)

Abbildung 19: Datensatz eines Kopfs. Der Fokuspunktin (a) und (b) ist unterschiedlich.

(a) (b)

Abbildung 20: Motorblock gerendert mit Depth of Fieldund zwei unterschiedlichen Fokuspunkten.

Focus+Context

Fur die Ergebnisbilder in Abbildung 21 wurde der glei-che Datensatz den menschlichen Kopfs verwendetwie bei der Depth of Field Methode. Bild (a) zeigt dasErgebnis des normalen Rendering-Verfahrens nachMarc Levoy [8]. Bild (b) hebt den Ansatz der Wir-belsaule hervor. Durch die Focus+Context Methodeist dieser Bereich sehr gut freigestellt. Auch das Dre-hen des Datensatzes verdeckt diesen Bereich nicht,da immer nur die Silhouetten der restlichen Teile dar-gestellt werden

In Abbildung 22 ist selbiger Effekt mit einem an-deren Datensatz dargestellt. Es wurde der Datensatzeines Teetopfs verwendet. Die große des Datensat-zes betragt 256 × 256 × 178. In diesen Teetopf wurdenoch ein Hummer platziert. In Bild (a) ist der Daten-satz mit der normalen Rendering-Methode dargestellt.Die Außenwande des Teetopfs verhindern den Blickauf den Hummer. In Bild (b) ist der Datensatz mit derFocus+Context Methode dargestellt. Der Hummer inder Mitte des Teetopfs ist hier gut zu erkennen.

(a) (b)

Abbildung 21: Abbildung zeigt einen Kopf. Das Bild (a)wurde im Gegensatz zu Bild (b) ohne Focus+Contextgerendert.

(a) (b)

Abbildung 22: Die zwei Bilder zeigen einmal den Tee-topf mit der Focus+Context Methode gerendert undeinmal ohne.

3D Dithering

Um ein Ergebnisbild fur diese Methode zu erhaltenwurde der Datensatz eines Leopardengeckos verwen-det. Der Datensatz hat die Ausmaße von 512×512×88,wobei der Abstand in z-Richtung 2.8 mal großer ist alsin den beiden anderen Hauptrichtungen. Bild (a) wur-de mit der normalen Rendering-Methode erstellt. Bild(b) wurde mit der 3D Dithering Methode erstellt. Immittleren bis hinteren Bereich des Geckos fallt ein rotli-cher Dithering-Quader auf. Dieser schneidet ein inne-res Organ. Somit kann man die Position dieses Or-gans lokalisieren und es moglicherweise mit der Fo-cus+Context Methode darstellen.

Magic Lamp

Fur die Abbildung 24 wurde der Datensatz des Tee-topfs verwendet. Die Magic Lamp “strahlt” von rechtsoben auf das Objekt herab. Da nur die Teile hervor-gehoben werden, deren Normalvektor in Richtung derMagic Lamp zeigt, ist auch ein Teil der Innenwanddes Teetopfs zu sehen. Dies ist mit herkommlichenRendering-Methoden kaum zu erreichen.

14

Page 15: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

(a)

(b)

Abbildung 23: Leopardengecko, welcher einmal nor-mal und einmal mit 3D Dithering gerendert wurde.

Abbildung 24: Abbildung zeigt Teetopf, welcher einmalmit normaler und einmal mit Magic Lamp Rendering-Methode erstellt wurde.

6 Schlussfolgerungen

Wahrend der Materialsuche fur diese Arbeit hat sichherausgestellt, dass es bereits eine große Anzahlvon Arbeiten uber Merkmals-Visualisierung gibt. Da-bei kommen die verschiedensten Ansatze vor. Dochalle haben eines zum Ziel: sie wollen einen besse-ren Einblick in die Daten geben. Dies ist zurzeit einerder Schwerpunkte in der Visualisierung. Besondersin der Informationsvisualisierung war es seit langemvon großem Interesse Teile eines Datensatzes zu be-tonen, damit dieser genauer betrachtet werden kann.Mittlerweile ist dieser Ansatz auch in der Volumsvisua-lisierung von großem Interesse. Diesen Trend belegtauch die große Anzahl von Arbeiten, welche uber die-ses Thema verfasst wurden und werden.

Das großte Problem aller Ansatze ist noch eine guteQualitat bei hoher Geschwindigkeit zu erreichen, denndie meisten Methoden sind relativ aufwendig was denRechenaufwand betrifft. Es ware aber in vielen An-wendungen wunschenswert interaktive Frameraten zu

erreichen.Durch die rasante Entwicklung der Computer-

Hardware ist es aber durchaus moglich in einigen Jah-ren auch aufwendigere Methoden mit einem akzepta-blen Zeitaufwand zu rendern.

Meine Arbeit ist auch im Umfeld der Merkmals-Visualisierung positioniert. Es gibt einige Einsatzge-biete, in denen die vier von mir vorgestellten Metho-den eingesetzt werden konnen. Da relativ wenige Da-tensatze frei zuganglich sind war es auch schwierigDatensatze fur bestimmte Einsatzgebiete zu erpro-ben. Mit den wenigen Datensatzen konnte ich aberdennoch einige Einsatzgebiete herausfiltern.

Die Methode Depth of Field unterscheidet sich vonden anderen drei beschriebenen Methoden in dieserArbeit. Sie bietet namlich keinen zusatzlichen Einblickin die inneren Strukturen von Daten. Es ist jedoch er-wiesen, dass das menschliche Auge sehr gut scharfevon unscharfen Teilen unterscheiden kann und dassder Fokus schnell auf scharfe Teile gerichtet wird. Da-her fallt der Blick des Betrachters schnell auf den we-sentlichen Teil in der Depth of Field Methode. Die-sen Vorteil konnte besonders fur Prasentationszwe-cke ausgenutzt werden. Der Nachteil ist allerdingsder hohe Berechnungsaufwand. Ein Datensatz wirdmehrmals gerendert, um zu einem Ergebnis zu ge-langen. Werden Bilder aber fur Prasentationszweckegerendert, spielt das kaum eine Rolle, da dort dieRendering-Geschwindigkeit eher bedeutungslos ist.

Focus+Context ist die wohl effektivste Methode,welche in dieser Arbeit vorgestellt wird. Sie kann uber-all dort eingesetzt werden, wo die Position des inter-essanten Bereichs bekannt ist. Dies kann zum Bei-spiel in der Medizin der Fall sein, wenn eine bestimmteRegion des Korpers genauer untersucht werden soll.Die Teile, welche im Context-Bereich liegen, werdennurch durch deren Silhouetten dargestellt und verde-cken daher die Sicht auf den Focus-Bereich nicht.

Wenn die Lage des Bereichs der betrachtet werdensoll nicht bekannt ist, dann kann das 3D Dithering Ab-hilfe schaffen. Da der Datensatz in viele kleine Qua-der geteilt wird ist die Wahrscheinlichkeit groß, dasseiner dieser Quader das gesuchte Objekt schneidet.Ist dies der Fall, so kann mittels Focus+Context die-ser Bereich genauer betrachtet werden.

Einen ganz anderen Einblick in die Daten liefert dieMagic Lamp Methode. Bei ihr bestimmt im Gegensatzzu Focus+Context und 3D Dithering nicht die Positioneines Punktes die Rendering Methode, sondern des-sen Ausrichtung und der Gradientenbetrag. Ein mogli-ches Einsatzgebiet ware etwa die Biologie. Dort konn-te mit dieser Methode die Flache von Blattern einesBaums, welche in eine bestimmte Richtung zeigen,ermittelt werden. So kann bestimmt werden aus wel-chem Winkel die Sonne scheinen musste, damit am

15

Page 16: Merkmals-Visualisierung fur Volumsdaten¨ Bakkalaureatsarbeit

meisten Flache bestrahlt wird. Es sind aber noch ei-ne Reihe anderer Einsatzgebiete fur diese Methodemoglich. Zum Beispiel ist sie auch gut dazu geeignetdie Innenseite von Objekten darzustellen.

In den letzten drei Methoden spielt die Context-Darstellung eine wichtige Rolle. Dabei hat dich diein dieser Arbeit vorgestellte Methode der Silhouetten-Extraktion als sehr einfach aber ausreichend genauerwiesen. Die Darstellung der Silhouette hat in allenAnwendungen einen wesentlichen Vorteil bezuglichder Ubersichtlichkeit gebracht.

Es gibt noch viele Moglichkeiten die Methoden zuverfeinern und zu beschleunigen. Das Programm zumErstellen der Ergebnisse ist so gemacht, dass auchalle moglichen Kombinationen der vier Methoden ge-rendert werden konnen. Dadurch konnten moglicher-weise neue Methoden entstehen, welche die Vorteileder einzelnen vereinen.

Meiner Meinung nach ist die Merkmals-Extraktion inder Volumsvisualisierung ein sehr interessantes undumfangreiches Thema ist. Es sind zurzeit schon eineganze Reihe von guten Ansatzen vorhanden. Wenndie Computer-Hardware noch um einiges besser wird,werden diese Methoden mit Sicherheit zum alltagli-chen Werkzeug in der Volumsvisualisierung.

Literatur

[1] Balazs Csebfalvi, Lukas Mroz, Helwig Hauser,Andreas Konig, and Eduard Groller. Fast visua-lization of object contours by non-photorealisticvolume rendering. Computer Graphics Journal,20(3), 2001.

[2] Helwig Hauser, Lukas Mroz, Gian-Italo Bischi,and Eduard Groller. Two-level volume rendering.IEEE Transaction on Visualization and ComputerGraphics, 10(5), 2001.

[3] Taosong He, Lichan Hong, Arie Kaufmann, andHans Peter Pfister. Generation of transfer functi-ons with stochastic search techniques. Procee-dings IEEE Visualization 1996, pages 227–234,1996.

[4] Gordon Kindlmann. Semi-automatic generationof transfer functions for direct volume rendering.Technical report, Cornell University, Ithaca, NY,1999.

[5] Gordon Kindlmann and James W. Durkin. Semi-automatic generation of transfer functions for di-rect volume rendering. IEEE Symposium on Vo-lume Visualization, pages 79–86, 1998.

[6] Robert Kosara, Silvia Miksch, and Helwig Hau-ser. Semantic depth of field. IEEE Symposiumon Information Visualization 2001, 2001.

[7] Robert Kosara, Silvia Miksch, Helwig Hauser,Johann Schrammel, Verena Giller, and ManfredTscheligi. Useful properties of semantic depth offield for better f+c visualization. 2001.

[8] Marc Levoy. Display of surface from volume da-ta. IEEE Computer Graphics and Applications,8:29–37, 1987.

[9] Penny Rheingans and David Ebert. Volume il-lustration: Nonphotorealistic rendering of volumemodels. IEEE Transaction on Visualization andComputer Graphics, 7(3), 2001.

[10] Ivan Viola, Armin Kanitsar, and Eduard Groller.Importance-driven volume rendering. Technicalreport, Institute of Computer Graphics and Algo-rithms, Vienna University of Technology, 2004.

[11] Jianlong Zhou, Anreas Doring, and Kalus D.Tonnies. Distance transfer function based rende-ring. IEEE TCVG Symposium on Visualization,pages 1–9, 2004.

[12] Jianlong Zhou, Manfred Hinz, and Kalus D.Tonnies. Focal region-guided feature-based vo-lume rendering. IEEE First International Sympo-sium on 3D Data Processing Visualization andTransmission, pages 87–90, 2002.

16