2. Erstellung eines Konvertierprogramms
Die Funktionen zum Aufteilen der 3D-Textur in 2D Texturen konnten direkt übernommen werden um das Konvertierungsprogramm zu erstellen.
Es werden zuerst jeweils in x-, y- und z-Achse “n” 2D-Texturschichten erstellt. “n” entspricht zur Vereinfachung der jeweils der Anzahl von Pixeln in die größte Richtung.
Zur Veranschaulichung bei n=4:
WebGL schreibt hierzu noch vor, das diese Länge auf eine 2er Potenz normiert sein muß. Eine 3D-Textur mit 256×128×64 wird somit auf 256 Schichten jeweils in x-, y- und z-Richtung aufgeteilt. Dies bedeutet also 256 * 3 = 768 einzelne 2D-Schichten. Zur Wahrung der Qualität wird hierfür eine trilineare Interpolation (siehe Vorlesung Multimodale Visualisierung) verwendet.
Die entstandenen Datensätze werden nun durch das Programm in .pnm Dateien umgewandelt. Die Konvertierung geschieht mit der writePNMimage-Funktion aus der ddsbase.h von Prof. Dr. Röttger.
Anmerkung: Die Vereinfachung die “Anzahl von Pixeln in die größte Richtung” als Grundlage für die Schichtanzahl zu verwenden führt zu medizinisch nicht verwendbaren Volumendaten. Die Datensätze werden dadurch automatisch auf einen Einheitswürfel normiert. Dies entspricht natürlich nicht der Realität, da die einzelnen Schichten “verzerrt” werden. Es soll noch einmal darauf hingewiesen werden das dies in obigen Zahlenbeispiel bedeutet, das 64 Schichten auf 256 gestreckt werden. Dies entspricht dem Faktor 4.
Diese Arbeit stellt nicht den Anspruch der medizinsche Verwendbarkeit. Sie stellt vielmehr eine erste Machbarkeitsstudie dar.
← OpenGL-Volume-Renderer | ● | Implementierung des Konvertierers →