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.

Program Capabilities

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.

Future Plans

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:

System Requirements

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.

Program Design

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.

Support

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 voxx@indiana.edu. We also have a mailing list, which you can subscribe to by sending a message to listserv@iupui.edu with "SUBSCRIBE VOXX-USERS-L full name" in the body.

Voxx-related Publications

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.

References

To see a list of a few relevant voxel-related papers and books, click HERE.