En­twicklung eines Frame­works mit grafis­chem Ed­it­or zur Visu­al­is­ier­ung med­iz­in­is­cher Daten

Studienarbeit von Clemens Koch und Timo Wiesermann

Motivation

Die grafische bzw. bildgebende Darstellung diskreter multidimensionaler Punkträume, zum Beispiel durch die Verwendung von Daten aus einem CT- (Computer Tomographie) oder PET-Scan (Positronen-EmissionsTomographie), kann durch dreidimensionales Volumenrendering geschehen. Die eigentliche Abbildung der Daten erfolgt im dreidimensionalen Raum. Da solche Darstellungsverfahren sehr rechenintensiv sind, gibt es bisher kaum Echtzeitlösungen. Für die visuelle Aufbereitung von medizinischen Daten gibt es derzeit nur softwaretechnische Lösungen.

Mit Hilfe von Shader-Programmen lässt sich die GPU (graphical processing unit) programmieren. Darüber hinaus lassen sich Shader-Mechanismen nicht ohne weiteres in vorhandene Systeme integrieren, weil die Schnittstellen der Systeme meist keinen direkten Zugriff auf die verwendete Grafik-API ermöglichen.

Zielsetzung

In dieser Studienarbeit soll ein prototypischer, plattformunabhängiger, gra- fischer Editor zur Volumendarstellung mit Hilfe von Shadern entwickelt werden. Dabei soll der Editor folgende Eigenschaften besitzen:

  • Generierung einer spezifischen Volumendarstellungsart durch drag & drop vorgegebener und auf GEF basierender Komponenten
  • Editierbarkeit grundlegender Eigenschaften der einzelnen Komponenten
  • Darstellung von skalaren Datensätzen mittels direct volume rendering sowie die Rekonstruktion polygonaler Iso-Flächen

Weiterhin soll durch eine modulare Struktur die Erweiterbarkeit des Systems gewährleistet bleiben, da das zu entwickelnde Framework als Grundlage für weitere Arbeiten dienen soll. Für die Implementierung werden folgende frei verfügbare Komponenten und Bibliotheken eingesetzt:

  • Eclipse
  • GEF (graphical editing framework for eclipse)
  • OpenGL (open graphics library)
  • JOGL (Java bindings for OpenGL)

Durch die Wahl der Komponenten wird eine Plattform- und Hardwareunabhängigkeit gewährleistet. Die einzige Hardwareabhängigkeit besteht darin, dass die Grafikkarte bzw. deren Treiber die OpenGL 2.0 Spezifikation erfüllen muss, da erst ab dieser Version die verwendete OpenGL shading laguage unterstützt wird.

Realisierung

Im Verlauf dieser Studienarbeit ist der Prototyp eines Frameworks zur Visualisierung medizinischer Daten, mittels eines Editors, entwickelt worden. Der Schwerpunkt dieser Arbeit war es, Volumendaten grafisch darzustellen. Durch Verwendung von aktueller Shader-Technologie ist es gelungen, eine hardwarenahe Darstellung zu implementieren.
Die Entwicklung des Frameworks erfolgte auf Basis der Eclipse-Plattform. Es besteht aus einem erweiterbaren Eclipse-Plug-in, welches nicht nur innerhalb der Plattform einsetzbar ist, sondern auch als eigenständige Anwendung exportierbar ist (RCP).
Die Umsetzung der grafischen Darstellung erfolgte in OpenGL. Die Programmierung der Grafikhardware wurde unter Verwendung der Shading- Sprache OpenGL Shading Language realisiert. Der Editor besitzt eine grafische Oberfläche, damit eine einfache Manipulation der Volumendarstellung möglich ist. Wir haben ein Framework benutzt, welches für die Entwicklung von interaktiven grafischen Oberflächen Basisklassen zur Verfügung stellt. Das verwendete Framework ist das graphical editing framework for eclipse (GEF).

Zum Erstellen einer Volumendarstellung stehen verschiedene Komponenten in einer Werkzeugleiste zur Verfügung. Die einzelnen Komponenten repräsentieren Teilstücke eines Volumenrenderings und besitzen spezifische Eigenschaften. Diese Eigenschaften lassen sich im Editor verändern. Durch Verknüpfungen zwischen den Komponenten lässt sich ein Diagramm erstellen, welches den Ablauf eines vollständigen Rendervorgangs darstellt. Jede Komponente besitzt spezifische Eigenschaften, die sich im Editor verändern lassen. Auf diese Weise erstellte Diagramme lassen sich speichern und später wiederverwenden.

Unter den Komponenten befinden sich verschiedene Rendermethoden. Zur Auswahl stehen sowohl axis aligned als auch view aligned sowie raycasting und Iso-Flächengenerierung. Zur Klassifikation der Volumina stehen Pre- und Post-Klassifikation zur Auswahl. Die Transferfunktion kann durch die Kombination mehrerer Komponenten gewählt werden. Zum Erzeugen einer Iso-Fläche durch Klassifikation steht eine spezielle Transferfunktionskomponente zur Verfügung. Für eine echte Iso-Flächenrekonstruktion wird der marching cubes-Algorithmus verwendet.

Links

Eclipse Platform

Java Bindings for OpenGL (JOGL)

Für weitere Informationen bitte E-Mail an abelkner@uni-paderborn.de.