Voxx: A Volume Rendering Program for 3D Microscopy
Voxx is a voxel-based (not surface-based) 3D rendering program which has been optimized for biological microscopy. This software permits researchers to perform real-time rendering of large microscopy data sets using inexpensive personal computers. We developed it to explore 3D datasets collected on confocal and multiphoton microscopy systems, but it can also render other kinds of data (e.g. CT, MRI, etc.).
In the past, voxel-based programs were commonly run on very expensive SGI workstations [Akeley 93, Montrym et.al. 97] in order to achieve real-time rendering speeds [Cabral et.al. 94, Westerman et.al. 98]. More recently,
VolumePro voxel processors/boards [Pfister et.al, 1999] have permitted real-time volume rendering on PCs at a much lower price than an SGI workstation. But VolumePro boards still add several thousand dollars to the price of each PC-based 3D imaging system.
Fortunately, some of the 3D graphics processing units (GPUs) found on many "low-cost" (typically $100-400) video boards in office and lab PCs can achieve rendering speeds similar to the VolumePro
[Clendenon et.al., 2002] and the graphics subsystems used on many SGI
workstations [Rezk-Salama et.al. 2000]. The two major suppliers of these low-cost high-performance 3D graphics processors for PCs and Macs are
NVIDIA (which also supplied the graphics processor for the Microsoft Xbox and Sony Playstation 3 game consoles), and ATI (which also supplied the graphics processor for the Nintendo GameCube and the Xbox 360). Details on programming techniques for volume rendering using contemporary graphics processors can be found in a recent book by Engel et al (2006).
We designed Voxx to use these low-cost high-performance 3D graphics
processors. After we made Voxx available to the public (January 2002), several commercial microscopy-oriented volume imaging programs added real-time volume rendering using GeForce- and/or Radeon-based video boards. But these volume imaging programs do not fully exploit the capabilities of recent GPUs to perform 3D image processing, classification and segmentation in real time. Consequently, we are now developing a new version of Voxx which can perform such real-time image processing during rendering.
Version 2 of Voxx (Voxx2) permits researchers to perform real-time rendering of large multi-channel 3D/4D microscopy data sets. The program can also perform a number of basic image processing operations during real-time volume rendering, including intensity transformations (e.g. contrast stretching), colorization, and soft thresholding. These real-time operations have proven to be very useful when working with 3D/4D confocal and two-photon data sets. Voxx2 has many of the capabilities of expensive commercial volume rendering programs, including:
However, Voxx cannot perform quantitative image analysis. We hope to add measurement options to the program in the future. Several commercial programs are available for quantitative 3D image analysis, and a few of them have been optimized for applications in 3D microscopy.
reads multi-channel 3D/4D image files (Bio-Rad PIC, Zeiss LSM, Metamorph STK, TIFF, raw)
makes 3D/4D movies (saved as AVI or TIFF files)
makes screen snapshots (saved as TIFF, PNG, or raw files)
graph-based color (RGB or HSV) and opacity table editor
cutplanes (for displaying or saving a 3D subimage)
anaglyph stereo displays (using red/green or red/cyan glasses)
3D (trilinear) interpolation
cross-platform (runs on Windows, Linux, and Mac OS X)
works with video boards using newer versions of the GeForce or Radeon processor
Currently, Voxx can perform a small number of image processing operations during real-time volume rendering. But there are many other useful image processing operations which could not be implemented using early versions of the GeForce and Radeon GPUs.
Newer versions of these GPUs (see list below) provide the improved programmability and higher-precision floating-point pixel arithmetic needed to perform nontrivial kinds of image processing during volume rendering.
We are developing and testing code for version 3 of Voxx (Voxx3), in which these recent advances in GPU design have allowed us to perform additional image processing operations in real time. Examples of real-time image processing operations in Voxx3 include:
NVIDIA GeForce 8800GTX
ATI Radeon X1800XT, X1900XT, X1950XTX, FireGL V7350
Real-time compensation for channel cross-talk (aka bleed-through), caused by emission spectra overlap.
Real-time compensation for intensity reduction (due to light scattering, absorption, and/or photobleaching) in thick specimens, using user-defined function of depth (z), which scales up deeper/darker image slices.
Real-time 3D filtering (e.g. Gaussian, Laplacian, unsharp masking, etc.)
Near real-time 3D deconvolution
Real-time voxel lighting using normal vector arrays. Most other volume rendering programs only support real-time lighting of isosurfaces, not raw 3D image arrays.
Voxx2 runs under Windows, Linux, and Mac OS X. Voxx2 requires a PC or Mac and a video board equipped with either an NVIDIA GeForce (or Quadro) or ATI Radeon (or FireGL) graphics processor (9500, 9600, 9700, 9800, X800-850, X1800, X1900-1950).
The original version of Voxx (Voxx1) runs under Windows, and requires a PC with a video baord equipped with older versions of the NVIDIA GeForce or Quadro graphics processor that supported paletted textures.
We recommend video boards equipped with GeForce 7900 or 6800 GT, or Radeon X1900 XT, graphics processors and 256-512 MB of on-board memory for most applications. These boards render MUCH faster that most older GeForce- and Radeon-based boards (due to their having more graphics pipelines), and cost roughly $400.
We are using GeForce 8800GTX- and Radeon X1950XTX-based boards to develop Voxx3 code, and recommend them for anyone interested in working with large datasets or using our new real-time image processing ops. A board equipped with a a Radeon X1950XTX equipped with 512 MB costs roughly $450. For anyone working with really large 3D images, we recomend a GeForce 8800GTX with 768 MB (which costs roughly $650) or a FireGL V7350 with 1024 MB (which costs roughly $1200-1600).
Most PCs equipped with a moderate amount of memory (typically 1024-2048 MB) can be used for volume rendering. If you are interested in 4D microscopy (i.e. 3D time-lapse studies), you may need more memory.
We develop 3D image processing and volume rendering software in C++ using Qt and OpenGL to provide a largely platform-independent base of code, which runs on Windows, Linux, and Mac OS X. We use GeForce and Radeon graphics processing units (GPUs) to perform real-time 2D/3D operations. Real-time image processing operations are implemented using GPU-independent programming languages (GLSL or ARB fragment program), which are supported by the two major suppliers of high-performance GPUs (NVIDIA and ATI).
Downloading Voxx Software
We make the Voxx program exe file (but not the source code) freely available for non-commercial use. However, Voxx is not open source. It is owned by Indiana University, and anyone interested in commercial applications and/or source code licenses should contact us.
There is no manual for Voxx2 (yet), but there is a Help command in the program.
To download Voxx, click HERE.
Regrettably we do not have the resources to provide full time support at this time. There is built in help in the software
and we do respond to email via firstname.lastname@example.org. We also have a mailing list, which you can subscribe to by sending a message to email@example.com with "SUBSCRIBE VOXX-USERS-L full name" in the body.
Images generated using Voxx have been featured in numerous papers and
poster sessions, including on the covers of Nephron (2006), Physiology (2005), Current Opinion in Nephrology and Hypertension (2003), Journal of Cutaneous Pathology (2002), and as the "cell of the month" image in Nature Cell Biology (Sept 2004). To see a list of publications, click HERE.
To see a list of a few relevant voxel-related papers and books, click