Project 2

Pimp my Volume


In this project you will get to play with visualizing volumetric data in various ways, with isosurfaces, splatting, and raytracing, to compare their strengths and weaknesses. Realistically, splatting is more useful with unstructured data rather than the structured data we will use here, but it should still be illustrative.

The datasets you will be using are a piggybank and a human foot that can be found at:
http://www9.informatik.uni-erlangen.de/External/vollib/

I have put copies of these datasets converted to raw format on the evl ftp site (ftp.evl.uic.edu/pub/INcoming/andy) You can also download the original data and a converter from the web site that will convert it to raw format; that's what I did.

the piggy bank is 512 x 512 x 134 (16 bit)
the knee is 512 x 512 x 87 (16 bit)



For a C

Your program should be able to load both of the above datasets.

The user should be able to rotate the dataset quickly in 3D using the mouse. This very likely means using a low-rez version while the user is moving the mouse, and then switching to the high-rez version when the user stops. The user should be able to zoom in and out of the dataset (or scale the dataset if you prefer.)

There should be a GUI that allows the user to control various parameters, i.e. what method is used to display the dataset, as well as particular parameters for each type of visualization:

For a B

All of the above plus:

The user should be able to control the splatting parameters. In the isosurface visualization the user should be able to control the colour and transparency of three independent isosurfaces; the colours can be from a fixed pallett or a colour picker. Similarly the user should be able to control the colour of three independent sets of splats. For raycasting the user should be able to specify a colour transfer function.

For an A

All of the above plus:

The user should be able to easily control a plane to prune away part of the dataset in order to see the rest of the dataset more clearly.

Implementing other useful controls would be nice.


Pick some other interesting datasets to visualize. Some nice places to look include:
http://www.custard.org/~andrew/visualization/datasets/
The backpack and the christmas tree are rather nice.




As with project 1 you should create a web page containing a series of images showing all of these various features in action, and links to the code that you used to create them. Highlight interesting features you find in the datasets. Highlight comparisons of seeing the same thing in different ways using the different techniques. What did you learn about the value of different techniques?


last revision 2/25/07