Doktorarbeit:

Optimierungsverfahren zur Isoflächen-Extraktion in der wissenschaftlichen Visualisierung



Beispiele von mathematisch erzeugten Isoflächen.



Isoflächen von eingescannten Datensätzen.

Die Aufgabenstellung der Isoflächen-Extraktion ist es, zu einer gegebenen Funktion f mit dreidimensionalem Definitionsbereich die Lösungsmenge der Gleichung f(x,y,z)=c zu ermitteln, wobei c ein gegebener Isowert ist. Im hier bearbeiteten Fall ist f durch ein diskretes dreidimensionales Array a[x,y,z] an Gitterpunkten gegeben, so dass f(x,y,z)=a[x,y,z] für die ganzzahligen Werte x=0,1,2,...,xmax, y=0,1,2,...,ymax und z=0,1,2,...,zmax gilt.
Die dadurch bestimmten Gitterpunkte begrenzen insgesamt xmax*ymax*zmax kleine Würfel, die sogenannten Zellen. Jeder dieser Zellen ist ein charakteristisches Intervall zugeordnet, das vom Minimum der Werte a[x,y,z] an ihren Eckpunkten und dem Maximum dieser Werte begrenzt ist.
Wenn die vorliegende Funktion f stetig ist, dann ist dadurch nach dem Zwischenwertsatz gesichert, dass die Gleichung f(x,y,z)=c Lösungen innerhalb jeder Zelle hat, für die der Isowert c in ihrem charakteristischen Intervall liegt. Die gesuchte Isofläche verläuft also durch alle Zellen, für die diese Intervallbedingung erfüllt ist.
Um die Menge dieser Zellen zu bestimmen, besteht die Möglichkeit, sämtliche xmax*ymax*zmax Zellen auf die Intervallbedingung zu testen. Dies ist aber sehr zeitaufwändig. Um die Suchzeit zu verkürzen, kann man z. B. im Vorverarbeitungsschritt einen hierarchischen Zerlegungsbaum für die Volumendaten aufbauen, der in jedem Knoten das Minimum und das Maximum aller im dazugehörigen Bereich enthaltenen Datenwerte enthält. Dadurch wird während der Extraktion Zeit gespart, weil nur die Teile des Datensatzes durchsucht werden müssen, die tatsächlich Zellen mit einem Teil der Isofläche enthalten.
Eine noch schnellere Extraktion wird dadurch ermöglicht, dass sämtliche Zellen nach den Grenzen ihres charakteristischen Intervalls geordnet in eine neue Datenstruktur eingefügt werden. Diese Datenstruktur kann z. B. ein Intervallbaum oder ein kd-Tree sein. Der Nachteil dieser schnellen Extraktion ist allerdings, dass diese Datenstruktur viel Speicher benötigt. In der untenstehenden Abbildung wird der sogenannte Span Space gezeigt, in dem die Zellen geordnet nach ihren Intervallgrenzen dargestellt sind. Die Intervalle der Zellen, durch die die Isofläche läuft, sind dabei im grauen Bereich zu finden.


In meiner Dissertation stelle ich eine Methode der Isoflächen-Extraktion vor, die eine hybride, parameterabhängige Datenstruktur verwendet. Unter Verwendung eines Optimierungsverfahrens ist es möglich, zu jeder Größe des zur Verfügung stehenden Speichers eine dazu passende Datenstruktur zu konstruieren, die diesen Speicher zugunsten der höchsten damit möglichen Extraktionsgeschwindigkeit ausschöpft. Die nächste Abbildung zeigt am Beispiel des Xmas-Tree-Datensatzes (250 MB), wie die Extraktionsgeschwindigkeit mit wachsendem Speicher steigt.