[vtkusers] Volume rendering algorithms?

Lisa Sobierajski Avila lisa.avila at kitware.com
Tue Jun 27 09:27:21 EDT 2000


Hello Stephane,

Hmmm, rating accuracy and speed on a scale of 1 to 100 is tough - I don't 
think I can make an accurate enough estimate of this on such a scale. 
Accuracy is a tough thing to measure since it depends on your underlying 
assumptions about the data, the illumination model you use, etc. Here is 
some more information though -

Ray Casting - You have the choice with ray casting to interpolate and then 
classify, or classify and then interpolate. Given that you believe that 
your setting of this accurately represents your data, the ray casting 
method will accurately sample r, g, b, and a along the ray according to the 
given interpolation function. You have the choice between nearest neighbor 
and trilinear interpolation. If you have shading on, then a simple local 
illumination model is used (very similar to OpenGL's model). The normal at 
each data sample is precomputed, and has been quantized down to about 
16,000 possible values. Another factor in accuracy is the sampling distance 
- taking more samples leads to more "accurate" images, but at the cost of 
higher computing time. Speed of ray casting depends on your processor (and 
how many of them you have since it is threaded to use all available 
processors) It is almost always the slowest technique - usually about 5 to 
10 times slower than texture mapping for a workstation with one processor 
and accelerated 2D texture mapping.

Texture Mapping - this is less accurate than ray casting. You can increase 
your sampling rate only by interpolating a larger volume. There are 
artifacts that occur when the major viewing direction changes. This method 
is basically ray casting where the samples are taken only on planes of the 
data - so bilinear interpolation is used. This method always performs 
classify first. The shading technique is the same as the one used in ray 
casting. Finally, the depth of your frame buffer affects the accuracy - if 
you are accumulating into a frame buffer with 8/8/8 bits for rgb, then 
values below 1/256 will round to zero and will not affect your final image 
- whereas in ray casting you may accumulate a bunch of these low values at 
floating point precision to produce a noticeable effect in the image. The 
speed of this method will depend on the speed of 2D texture mapping for the 
video board in the workstation.

VolumePro - the images produced by this hardware are less accurate that the 
ray caster, but more accurate than the 2D texture mapper. In terms of speed 
they are very fast - generally at least 20 frames per second.


Hope that helps.


Lisa



At 01:25 PM 6/19/00, Cotin, Stephane M wrote:
>Hi Lisa,
>
>Could you be more specific about the Volume Rendering algorithms implemented
>in VTK in terms of accuracy and speed?
>How accurate and fast (on a scale from 1 to 100) would you rate these
>algorithms by comparison to the "best" algorithms / implementations you are
>aware of (with no hardware acceleration).
>How fast is the texture mapping approach (with hardware acceleration)
>compared to the ray casting approach?
>What would you suggest we do to speed up the ray casting algorithm (if it's
>possible)?
>
>Thanks a lot,
>
>-Stephane
>
>         -----Original Message-----
>         From:   Lisa Sobierajski Avila [SMTP:lisa.avila at kitware.com]
>         Sent:   Thursday, June 15, 2000 2:52 PM
>         To:     Jim Morash; vtkusers at public.kitware.com
>         Subject:        Re: [vtkusers] Volume rendering algorithms?
>
>         Hello Jim,
>
>         These volume mappers are available:
>
>         vtkVolumeRayCastMapper - a software ray casting approach. Slow, but
>accurate.
>
>         vtkVolumeTextureMapper2D - a 2D texture mapping approach. Can be
>reasonably
>         fast if you have good 2D texture mapping support. Less accurate than
>ray
>         casting, especially for low-depth frame buffers.
>
>         vtkVolumeProMapper - if you happen to have a VolumePro volume
>rendering
>         board by RTViz, then this mapper will make use of that hardware.
>Very fast.
>
>         If you want to add your own you would need to create a new subclass
>of
>         vtkVolumeMapper. You can follow the ray casting API, render directly
>into
>         the graphics context, or you can provide an image back to the
>renderer. If
>         you are providing an image back, you are responsible for asking the
>         renderer for the current RGB and Z buffers and merging your results
>in.
>
>
>         Lisa
>
>
>         At 01:49 PM 6/15/00, Jim Morash wrote:
>
>         >Hi all,
>         >I'm just getting started with VTK and I may be using it for a
>medical
>         >visualization application. Could anyone tell me what the included
>         >options are for volume rendering algorithms, and give me some idea
>of
>         >how hard it would be to add them if I want to try something that's
>not
>         >included?
>         >thanks,
>         >--Jim Morash
>         >
>         >------------------------------------------------------------------
>         >Loyalty to petrified opinions never yet broke a chain or freed a
>         >human soul in this world--and never will. --Mark Twain
>         >------------------------------------------------------------------
>         >jmorash at mit.edu                     http://web.mit.edu/jmorash/www
>         >
>         >_______________________________________________
>         >This is the private VTK discussion list.
>         >Please keep messages on-topic. Check the FAQ at:
>         ><http://public.kitware.com/cgi-bin/vtkfaq>
>         >vtkusers mailing list
>         >vtkusers at public.kitware.com
>         >http://public.kitware.com/mailman/listinfo/vtkusers
>
>
>
>         _______________________________________________
>         This is the private VTK discussion list.
>         Please keep messages on-topic. Check the FAQ at:
><http://public.kitware.com/cgi-bin/vtkfaq>
>         vtkusers mailing list
>         vtkusers at public.kitware.com
>         http://public.kitware.com/mailman/listinfo/vtkusers






More information about the vtkusers mailing list