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.