VolView 1.1 beta2

Lisa Sobierajski Avila lisa.avila at kitware.com
Tue Sep 21 15:56:25 EDT 1999


<x-flowed>Hello everyone,

As you may have noticed, there has been some significant changes in the 
volume rendering capabilities within VTK recently. Although some of this 
work is still under active development, it is functional and the API should 
be stable, so I thought it would be a good time to let everyone know it 
exists, and to tell you about VolView 1.1 beta 
(http://www.kitware.com/volview.htm) which you can download to try out this 
new functionality.

The first change that occurred was the addition of support for the 
VolumePro volume rendering hardware by Mitsubishi (http://www.rtviz.com). 
These classes are included with the VTK distribution in the contrib kit, 
but are not included in the makefile by default since compiling them does 
require some header / library files that come with the board. Instructions 
on how to include the vtkVolumeProMapper classes in the VTK build can be 
found in the comment block of those files. The vtkVolumeProMapper can be 
used in place of a vtkVolumeRayCastMapper, and an example script in tcl can 
be found in contrib/examplesTcl/volProSimple.tcl. This board works nicely 
with VTK and although you can't overlap other VTK props with the volume 
that is rendered through the VolumePro board (this is a current limitation 
of the hardware) you can intermix VTK props with the volume if they do not 
overlap in 3D space.

The second change that occurred was the addition of support for 2D hardware 
texture mapping as a method of volume rendering. The volume mapper is 
called vtkVolumeTextureMapper2D and can also be used in place of a 
vtkVolumeRayCastMapper. Generally, the performance is better (assuming you 
have some sort of hardware acceleration for 2D texture mapping) but the 
image quality is worse than ray casting since the compositing is performed 
in hardware (usually 8 bits or less per r, g, b, and a) as opposed to in 
software (floating point for ray casting). Currently, this mapper supports 
only alpha compositing - we are still working out how to provide maximum 
intensity projections with color where the max is not performed per 
component, and we are trying to determine how well supported the max 
blending operation is across various graphics drivers. All the volume 
texture mapping classes are in the graphics kit, and an example of using 
this mapper can be found in graphics/examplesTcl/volTexSimple.tcl.

By looking at the two examples indicated above, you can see that switching 
between various mapper types is fairly easy. In most cases, it is simply a 
matter of switching the type of the mapper when it is created (i.e. 
creating a vtkVolumeProMapper instead of a vtkVolumeRayCastMapper) and 
removing/adding any mapper specific methods. Since most of the parameters 
that control the appearance of the volume are contained in the 
vtkVolumeProperty class, there are very few mapper specific methods 
(setting the ray cast function is a specific method for 
vtkVolumeRayCastMapper, as is turning on the hardware axes for the 
vtkVolumeProMapper).

One other change that occurred recently that is significant to volume 
rendering is the addition of the vtkLODProp3D class. This is a 3D prop that 
allows multiple levels of detail to be defined for a 3D prop. These levels 
of detail can be defined with either a vtkMapper / vtkProperty combination, 
or a vtkVolumeMapper / vtkVolumeProperty combination. This way you can 
represent a volume with a ray cast mapper, a 2D texture mapper, a 2D 
texture mapper that uses a subsampled version of the volume, and a simple 
geometric representation of the volume data such as a few texture mapped 
polygons or a polygonal isosurface. The vtkLODProp3D will determine at each 
render which resolution to use (based on the allocated render time of this 
prop). An example of the use of this class can be found in 
graphics/examplesTcl/volSimpleLOD.tcl.


If you have a chance, please check out our beta release of VolView 1.1 (a 
general purpose volume visualization application) for Windows 95/98/NT at 
http://www.kitware.com/volview.htm. This will give you a good feel for the 
new volume rendering / LOD capabilities of VTK (except for the user 
interface / application code, all functionality for this application comes 
from VTK) If you are lucky enough to have a VolumePro graphics board, this 
will automatically be detected by the application and used as the only 
volume rendering technique (since it can achieve 20 to 30 frames per 
second!) If you aren't that lucky, then you will get a multi-resolution 
technique based on 2D texture mapping and ray casting. There are up to 4 
LODs (depending on your data size) - two reduced resolution versions 
rendered with 2D texture mapping, a full res version rendered with 2D 
texture mapping and a full res version rendered with ray casting. The best 
LOD that can achieve a few frames per second will be chosen for interactive 
rendering (moving the object around, changing slider values, etc.) while 
progressively better LODs will be used to render the image when you stop 
interacting. Generally, if you wait long enough a high resolution ray cast 
image will appear. You can tell which method is being used based on the 
title of the render window. This beta version is fully functional, and 
allows you to read a variety of data formats (vtk, slc, vox, raw), view 
this data using compositing / MIP, edit parameters such as material 
properties and transfer functions, embed annotation such as titles, corner 
text, scalar bars, cursors, and axes, crop the data using a variety of 
cropping functions, do a thick reformat, view 2D slices, and copy / print 
images from the application.

If you do try out this beta version, we would appreciate your feedback. A 
feedback form is on our web site, or you can send email to 
kitware at kitware.com. Specifically, it would be great if you could tell us 
how well (in terms of performance and image quality) it works on your 
specific system configuration. We have tested it on various systems, and 
both the Riva TNT2 and 3DLabs VX1 work well (good performance, 8 bit 
textures), the ATI 3D Rage Pro works OK (good performance, not so great 
texture mapping quality) and the Permedia 2 boards did not work well (poor 
performance, bad quality, only small textures).


Lisa Avila
lisa.avila at kitware.com






-----------------------------------------------------------------------------
This is the private VTK discussion list.  Please keep messages on-topic.
Check the FAQ at: <http://www.automatrix.com/cgi-bin/vtkfaq>
To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
<majordomo at gsao.med.ge.com>.  For help, send message body containing
"info vtkusers" to the same address.     Live long and prosper.
-----------------------------------------------------------------------------


</x-flowed>



More information about the vtkusers mailing list