Volume Visualization


Ziel der Übung war es ein Programm zur Visualisierung volumetrischer Datensätze zu entwerfen, die zum Beispiel durch Computertompgraphie-Scans erzeugt werden. Die Visualisierung dieser Daten kann in Bereichen wie Medizin und Industrie von großem Nutzen sein. Ein volumetrischer Datensatz wird als eine Menge von Dichtewerten repräsentiert. Die Dichtewerte geben Information über die Dichte des Datensatzes an einer bestimmten Stelle. So hat zum Beispiel ein Knochen einen höheren Dichtewert als Muskelgewebe.

Unser Programm bietet zwei Modi zur Betrachtung dieser Daten: den Slice View und den Volume View. In beiden Modi verwendet man eine interaktive graphische Benutzeroberfläche zur Einstellung der Transferfunktion. Anhand der Transferfunktion gibt man an welcher Dichtewert des Datensatzes - also welche Substanz - in welcher Farbe und mit wieviel Transparenz dargestellt werden soll. Um die Daten, die von Interesse sind, also sichtbar machen zu können bedarf es einer mit Bedacht gewählten Transferfunktion.

Im Slice View kann man den Datensatz slice für slice - also Schicht für Schicht - entlang den x-, y- und z-Achsen durchwandern. Hierbei spielen die Transparenzwerte der Transferfunktion noch keine Rolle.

Im Volume View erhält man eine dreidimensionale Ansicht des Datensatzes, die beliebig rotiert und gezoomt werden kann. Hierbei kommt ein Ray-Casting Algorithmus zum Einsatz, der es dem Betrachter auch erlaubt bestimmte Dichtewerte transparent darzustellen und so durch mehrere Schichten des Datensatzes hindurchzusehen.

Realisiert wurde dieses Projekt in Visual Studio 2005 mit C++, Qt, OpenGL und GLSL.