Aravind's Intelli Vis

Home
Projects
Research
Publications
Astrophotography
Photography
Tutorials
Reviews
Links
CV

My Images
Blog

Picture of the picosecond
Picture of the picosecond

 
[Stripped Source Download ]

IntelliVis is my volume visualization library.  I wrote IntelliVis while taking CS788 a volume visualization for medical imaging course.  I have written a Win32 UI as well as a TCL interface to the library.  The library itself is written in extensible C++.  It is intended to be easily added onto.  I also have a pure C interface to the library (which is what the Win32 UI and TCL talk to). Unfortunately I used code proprietary to Inscriber Technology Corporation for the Win32 UI, hence I cannot release it here. I have a stripped down version of the code for download here. NOTE: This won't even come close to compiling since all includes and libraries proprietary to Inscriber have been removed. It should however be useful for anyone interested in implementing their own volume renderer.

Features:

  • Arbitrary transformation matrices
  • MIP, Summed Voxel (averaging), Opacity Weighted Composite, ISO and LMIP rendering modes
  • Lighting effects (1 directional light) Phong lighting model 
  • Intermediate Difference, Central Difference, Zucker-Hummel and Sobel 3D gradient operators
  • Nearest Neighbor and Tri-linear volume interpolation
  • Starting and ending sampling planes parallel to the view plane
  • Parallel and Perspective projections
  • Linear and Logarithmic histograms

As part of my final project for my volume visualization course I implemented a semi-automatic opacity transfer function generation mechanism.  You can read about it here.

I have a small gallery of images from my volume library.  Not all of these images were generated from IntelliVis since some are the result of code I wrote for assignments 3 and 4 of the course.  All the images are PNGs (in order to preserve quality), if you browser doesn't support PNGs (IE5.0 does) then you will have to download the images to view them.

 

A trip through Ian Bell's brain from an oblique point of view.  Each slice is about 3mm thick.  The third image on the bottom row is a summed voxel projection of the entire volume, and the last image is a MIP projection of the entire volume
ISO surface renderings of Ian Bell's brain.  I experiment with positioning the light at different angles as well as changing where the sampling plane beings (the last four images)
ISO surface renderings of the Visible Human Dataset.  I experiment with changing the ISO threshold to discriminate between the skin and the skull as well as changing where the slice plane begins to view the brain.
An interesting summed voxel projection of Ian Bell's brain from the top.  The classification functions were set by hand.
A summed voxel projection of the Visible Human dataset.
A composite of the Visible Human data set with a hand generated transfer function that shows both the skull and the outer skin.
Another composite using the Visible Human data set.  This image brings out the cavities of the nasal passages very well.  The transfer function used was similar to the image above with the portions involving the skin being removed.
A colored ISO surface rendering of the visible human data set. 
An ISO rendering of the Visible Human data set using a perspective projection.  The field of view is set to something ridiculous (145 degrees).  This distorts the image but proves my perspective projections are working properly.
 A composite of the skull in perspective of the Visible Human data set.  This is just another interesting classification function.
An ISO rendering of the skin from the Visible Human data set.  This is rendered in perspective with a 90 degree field of view.  Tri-linear filtering and the Sobel 3D gradient estimator
Same as above except the ISO threshold was set to a value that went past the skin and got the skull instead


Hosted by theorem.ca

All text and images (c) 2000-2010 Aravind Krishnaswamy. All rights reserved.