Interaktive Transferfunktionen und Rendering Techniken für medizinische Volmendaten

Diplomarbeit von Michael Schwier

Motivation

In der modernen Medizin gehören Aufnahmeverfahren wie die Computer-Tomographie, die Positronen-Emissions-Tomographie und die Magnet-Resonanz-Tomographie zum Standardwerkzeug der Diagnose. Diese Geräte erzeugen dreidimensionale Datensätze von dem gescannten Bereich eines Patienten. Abhängig vom Aufnahmeverfahren enthalten diese so genannten Volumendatensätze z. B. Informationen über den anatomischen Aufbau oder die Verteilung von radioaktivem Tracer im Körper. Der Vorteil dieser Untersuchungsmethoden ist, dass es sich dabei um nicht-invasive Verfahren handelt, d. h. der Arzt muss keinerlei Eingriffe am Patienten vornehmen, um seine Diagnose stellen zu können. Bei der Untersuchung koronarer Herzerkrankungen werden beispielsweise traditionell Herzkatheter eingesetzt, um die Herzkranzgefäße auf Verengungen zu untersuchen. Dieses Verfahren kann nun zunehmend durch den Einsatz o. g. Aufnahmetechniken ersetzt werden. Dabei eignen sich jedoch die gewonnenen Daten nicht direkt zur Untersuchung. Sie müssen zunächst in einer von Menschen interpretierbaren Form dargestellt werden. Je intuitiver diese Darstellung ist, desto leichter hat es ein Arzt, diese zu analysieren und eine korrekte Diagnose zu stellen.

Für die Informatik besteht eine herausfordernde Aufgabe darin, aus den Volumendaten aussagekräftige, dreidimensionale Bilder zu erzeugen und so den Arzt erheblich zu unterstützen. Aufgrund der großen Datenmengen und aufwändigen Algorithmen für die Visualisierung war es hierbei lange Zeit nicht möglich, interaktive Bildraten zu erreichen, weshalb die Entwicklung im Bereich des Volumen-Renderings kaum Fortschritte gemacht hat.

In den letzten Jahren hat jedoch die Entwicklung von Grafikhardware enorme Fortschritte gemacht. Moderne Grafikkarten verfügen über programmierbare Hardwareeinheiten, mittels derer spezielle Rendering Verfahren mit Hardwareunterstützung umgesetzt werden können. Die Leistungsfähigkeit moderner Grafikprozessoren (GPUs) liegt dabei aufgrund hochgradiger Parallelverarbeitung und Spezialisierung auf grafikrelevante Berechnungen weit höher als die herkömmlicher CPUs.

Diese neue Technologie erlaubt ein Volumen-Rendering bei interaktiven Bildraten selbst auf handelsüblichen PCs. Entsprechend hat sich die Forschung nicht nur im Bereich der medizinischen sondern allgemein in der Volumenvisualisierung in den letzten Jahren stark weiterentwickelt. Interessanterweise finden jedoch moderne und interaktive bildgebende Verfahren bisher selten Anwendung in der klinischen Praxis. Werden volumetrische Scans dreidimensional visualisiert, so handelt es sich in der Regel um eine statische Datenvisualisierung, die keine dynamische Exploration der Volumendaten erlaubt. Für eine Erleichterung der Diagnose wäre es jedoch gerade wichtig, dass ein Arzt interaktiv bestimmen kann, welche Bereiche eines Volumendatensatzes dargestellt werden. So wurde diese Diplomarbeit unter anderem motiviert durch das Interesse des Herz- und Diabeteszentrums NRW an einer integrierten Lösung, welche moderne Volumen-Rendering Techniken und interaktive Klassifizierungsmöglichkeiten vereint. Klassifizierung bedeutet in diesem Fall einfach ausgedrückt: Eine Abbildung der Datenwerte auf Farb- und Transparenzwerte, um bestimmte Daten gezielter darzustellen. Eine solche Klassifizierung von Volumendaten wird typischerweise mit so genannten Transferfunktionen vorgenommen.

Ziel der Arbeit

Ziel dieser Diplomarbeit ist es, ein Verfahren zu entwickeln, welches Volumen-Rendering und Transferfunktionen auf eine Art und Weise vereint, in der sie sich für die Darstellung und Untersuchung medizinischer Datensätze eignen. Dabei ist es einerseits notwendig, eine komplexe Klassifizierung der Daten zu ermöglichen, um die interessanten Bereiche eines Datensatzes gezielt darzustellen. Andererseits muss die interaktive Zusammenstellung einer Transferfunktion möglichst einfach und intuitiv sein, damit sie für den Praxiseinsatz geeignet ist.

Die Klassifizierung von Volumendaten allein reicht in der Regel jedoch nicht aus, um eine ausdrucksstarke Visualisierung der Volumendaten zum Zwecke einer Analyse zu generieren. Ein weiteres Ziel der Arbeit ist es daher, Techniken zu entwerfen, welche die Effektivität des Renderings verbessern. Dabei geht es darum, die Darstellungsqualität zu erhöhen und dem Benutzer die Untersuchung der für ihn relevanten Daten zu erleichtern.

Für die praktische Anwendung sollten die in dieser Arbeit entworfenen und vorgestellten Methoden in einem Softwaretool implementiert werden. Um sich dabei auf die Umsetzung der Methoden zu konzentrieren und so wenig Arbeit wie möglich auf die Implementierung grundlegender Funktionalität zu verwenden, ist es sinnvoll auf ein Framework aufzubauen. Das Szenegraphensystem OpenSG bietet bereits ein Framework für Volumen-Rendering an, welches zudem in der Diplomarbeit von M. Lindner (siehe Diplomarbeiten 2005) um ein Ray-Casting Verfahren und die Möglichkeit zur Verarbeitung zeitvarianter Volumendaten ergänzt wurde. Da dieses erweiterte Framework eine gute Grundlage für die Umsetzung der in dieser Arbeit entworfenen Methoden bietet, baut die in dieser Arbeit entwickelte Software darauf auf.

Realisierung

Transferfunktionen sind das zentrale Mittel zur interaktiven Klassifizierung von Volumendaten. Typischerweise werden hierfür sog. eindimensionale Transferfunktionen eingesetzt, die abhängig vom Messwert im Datensatz eine Farb- und Transparenzzuweisung vornehmen. Diese reichen jedoch für eine differenzierte Klassifizierung von Volumendaten nicht aus. Aus diesem Grund werden in dieser Diplomarbeit zweidimensionale Transferfunktionen eingesetzt. Dieses zeichnen sich dadurch aus, dass der Eingabewertebereich um eine zusätzliche Komponente - den Gradienten - erweitert wird. Der Gradient berechnet sich auf Basis der ursprünglichen Messwerte und ist ein Indikator dafür, wo im Datensatz sich Kanten - also Übergänge zwischen unterschiedlichen Materialien/Geweben - befinden. Zweidimensionale Transferfunktionen sind jedoch durch ihre Komplexität schwieriger zu handhaben. Daher wurde im Rahmen dieser Diplomarbeit ein visueller Editor entwickelt, mit dem sich derartige Transferfunktionen einfach und intuitiv erstellen und bearbeiten lassen. Dieser Editor arbeitet völlständig interaktiv, so dass Änderungen an der Transferfunktion sich sofort auf die Darstellung auswirken. Dies ist möglich, da das Volumenrendering auf moderner Grafikkartentechnologie mittes Shadern basiert.

Um den Benutzer bei der Erstellung von Transferfunktionen zu unterstützen wurden zudem halbautomatische Verfahren entwickelt, die zweidimensionale Transferfunktionen generieren. Dabei beziehen diese Verfahren in ihrer Berechnung auch die räumlichen Zusammenhänge im Datensatz mit ein.

Trotz des Einsatzes von komplexen Transferfunktionen ist es nicht immer möglich, eine wirklich gute Visualisierung eines Datensatzes zu erreichen, was insbesondere daran liegt, das irrelevante Strukturen die Sicht auf das eigentliche Untersuchungsobjekt behindern. Diese Strukturen können teilweise nicht über die Transferfunktionen ausgeblendet werden, ohne ebenfalls relevante Daten mit auszublenden. Der Grund dafür ist, dass gleiche Gewebearten in verschieden Bereichen des Körpers vorkommen. Ein gutes Beispiel dafür ist Muskelgewebe, das über den ganzen Körper verteilt auftritt. Bei einer Klassifizierung des Herzmuskels beispielsweise werden auch andere Muskeln (Brustmuskulatur) mitklassifiziert. Aus diesem Grund ist es notwendig interaktive Clipping Techniken einzusetzen, um derartige Störungen während der Arbeit mit den Daten schnell entfernen zu können. Hierfür wurde ein neuartiges Clipping Verfahren entwickelt: das Carve Map Clipping. Das Prinzip des Carve Map Clippings basiert auf der Idee, wie ein Bildhauer die Störenden Strukturen von aussen wegzunehmen. Dazu muss das System sich lediglich merken, wie tief der Benutzer an einer bestimmten Stelle in das Volumen geschnitten hat. Dies wurde mit einer an Height-Mapping angelehnten Methode realisiert. Das tatsächliche Clipping wird dabei im Fragment Shader durchgeführt und erlaubt so mit ein Voxelgenaues Clipping.