by Peter
Alexay and Meinrad Recheis
done for the
Visualization Course at the Institute for CG -
TU Vienna
Volume Visualization
of a 3D dataset of densities acquired with computer tomography.
The Program was written in Java 1.3.1 and uses the package javax.vecmath which is part of the
Java3D library.
A free implementation of the package is also
available.
Run the program by typing
java -Xms200M -Xmx256M VolvisMain
in the command promt, or run the batch file 'go.bat'
The Program is able to load a CT-dataset (computer tomography) and provides two major methods of visualization: "Slicing" and "Volume Rendering".
Slicer in action: The bones are colored white and even higher densities are colored blue (teeth). Less dense tissue is transparent, the background is green. Tissue densities +-25 around 977ct are colored red by the brush.
Renderer in action: Same transfer function as in the above screenshot. Uses gradients that is (vectors of change in density) for phong lighting. Because of the long rendertime (between 1 and 19s on a AMD 1800 XP for this volume data file) we added a bounding box (which can be turned off) to enable interactive orientation of the volume.
The transfer function used for both screenshots above: The two bars show the interpolation of colors and transparencies. The thing that looks like a landscape is the histogram of the dataset. We have taken the actual values to the 0.25th (that is the square root of the square root) to get it like this, otherwise it wouldn' t have been a usefull visualization of the distribution of the densities. On the left side of the histogram you can see an increase of densities which we set to fully transparent in our TF. Why? It is just noise.
[1] Marc Levoy, "Display of Surfaces from Volume Data", IEEE Computer Graphics and Applications, Vol. 8(3), pp. 29-37, Feb.1987
More Pictures:
above: different transferfunctions for the same volume data file with
different orientation.
below: no gradients vs phong
shading