VolVis
            Aufgabe & Lösung
            
            
              Die Aufgabe bestand darin den Raycasting-Algorithmus,
              wie er im Paper "Display of Surfaces from Volume Data"
              von Marc Levoy beschrieben wird, zu implementieren.
             
            
            
              Anfänglich entschieden wir uns für eine Implementation
              in Java, da es hier einfach ist GUI zu bauen und auch
              Klassen für Matrizen- und Vektorrechungen vordefiniert
              sind. Ein erster Prototyp sah ziemlich vielversprechend
              aus, zeigte aber bald die Grenzen die wir uns durch Java
              aufhalsten auf.
             
            
            
              Schliesslich entschieden wir uns spontan dazu auf C++
              umzusteigen. Die neue Version setzt auf die
              Qt-Bibliothek für das GUI vorraus.
             
            
              Implementiert wurde konkret folgendes:
             
            
              - 
                
Grayscale Transferfunction
                  Intensitätswerte werden gleichverteilt auf Grauwerte
                  abgebildet.
               
              
              - 
                
Simple Transferfunction
                  Intensitätswerte werden anhand einer Polylinie
                  abgebildet. Die Definition erfolgt in einer STFD
                  Datei, die folgendes enthält: 1. Zeile: Anzahl der
                  Linien, 2. Zeile: Sample Werte, 3. Zeile: Alpha-Werte
                  für Sample Werte, 4.-6. Zeile: RGB-Farbwerte für
                  Linien.
               
              
              - 
                
Triangle Transferfunction
                  Hier kann interaktiv über den Wertebereich der Samples
                  eine Transferfunktion definiert werden, in denen man
                  mit hilfe von Dreiecken angibt welche Farbe
                  bzw. Transparenz ein bestimmter Bereich haben soll
                  Die Definitionen können zur einfacheren handhabung in
                  TTFD Dateien gespeichert bzw. von diesen geladen werden.
               
              
              - 
                
Slice-Darstellung
                In der Slice-Darstellung kann man durch die Slices
                des Volumens browsen, als Transferfunktion eignet
                sich hier die Grayscale-Transerfunction gut.
               
              - 
                
3D-Rendering
                Das eigentliche Ziel des Ganzen, das Volumen
                dreidimension zu Visualisieren wird hier
                erreicht. Es stehen zwei Qualitätsstufen zur
                Auswahl. Low-Res berechnet nicht alles sonderen nur
                einen Teil des Bildes, man gewinnt aber schon einen
                ungefähren Eindruck ob die Transferfunktion passt und
                kann den View-Up Vektor einstellen. Mit High-Res
                wird dann jedes Pixel des erzeugten Bildes separat
                gecastet.
               
             
            Bilder
            
            Ressourcen
            
            
            Links
            
            
           |