Visible Woman Visualization

Project 2, CS 526
March, 2004

Ratko Jagodic

<< Back to main page

Written entirely in C++ using FLTK/FLUID for GUI. No threads, all the GUI events and display
updates are handled manually for each control.

 

Source files: Visible Woman (source).zip (includes VS.NET solution, source code, FLTK/FLUID files)

Binaries: Visible Woman (bin).zip

 

How to run:
The executable can be run on any Windows machine that has VTK installed and appropriate paths
setup (environment variables) for the libraries and dlls. Since marching cubes algorithm is being
used for extracting isosurfaces, patented .dll, .lib and .h also need to be present.
Here are the three files compiled for WinXP & VTK 4.2:
vtkPatented.dll - vtkPatented.lib - vtkMarchingCubes.h
Also, when running the executable make sure that "Female.raw" data file and "skin2.gif" image
file are in the same directory as the executable.

 

Features:

 

Features not behaving correctly:

 

<< Back to main page

 

Screenshots:

 

Figure 1. Optimal visualization parameters (balance between speed and quality). This is the image
you get upon starting the application.

 

Figure 2. Quality visualization parameters (no decimation, normals On, 256*256). Notice no smoothing
in order to get the best representative image.

 

Figure 3. Speed optimized visualization. More decimation, no normals, smoothing, smaller resolution.
Notice the degradation in quality from the figures above.

 

Figure 4. Head isosurface visualization, Gaussian smoothing. VOI selected via widget shown below.

 

Figure 5. Greater VOI, skin totally transparent, Gaussian smooting.

 

Figure 6. We are not limited to just head or feet. Random VOI with totally opaque skin.

 

Figure 7. Raycasting. Composite with shading. Very low resolution (32*32) but smaller sampling
distance, hence higher quality image. Skin totally opaque.

 

Figure 8. Raycasting. Higer resolution than the previous one but greater sampling distance, hence
the skin looks like stripes instead of connected.

 

Figure 9. Raycasting. Composite but no shading. Notice how it's hard to perceive depth when there
is no shading even though it's rendered at the highest resolution. Also, here is one of the examples
where I went from smaller resolution to higher resolution and the image is still looking good (unlike
during the presentation).

 

Figure 10. Raycasting. Still composite function with shading but with "nearest interpolation" technique.
Even with the smaller sampling distance and highest resolution the image doesn't look "clean".

 

Figure 11. Raycasting. Different VOI (head) with lower resolution and no shading.

 

Figure 12. Raycasting. This time with MIP raycasting function. Since there is no shading with MIP,
it's hard to perceive depth even with lower sampling rate and higher resolution. Skin transparent.

 

Figure 13. Raycasting. Back to composition function but with nearest interpolation technique. The
decrease in image quality can be seen, again, making linear interpolation better.