RESEARCH [Contents] [Next Article]

Splatter: Interactive Volume Rendering on the CRAY T3E

Featured:
Greg Johnson, Jon Genetti, SDSC


Medical scanning techniques, such as computed tomography (CT) and magnetic resonance imaging (MRI), produce valuable 3-D data for diagnosis and education. However, because of the size of the data sets, physicians often can only view the data non-interactively.

To render these data sets interactively with today's computers, SDSC senior programmer/analyst Greg Johnson and associate staff programmer/analyst Jon Genetti developed Splatter with funding from Cray Research and NSF. Splatter, now running on SDSC's 256-processor CRAY T3E, performs interactive, direct volume rendering of large data sets, including data from the Visible Human Project at the National Library of Medicine.

SPLATTERING DATA SETS

To render these data sets, Johnson and Genetti implemented the splatting algorithm for direct volume rendering. Splatting works by projecting each volume element, or voxel, from a data slice onto an image plane. "Each voxel contributes color to multiple pixels in the image just as a tomato thrown at a window spreads out," Johnson said. "By controlling the splatting, we can produce high-quality images."

Johnson and Genetti have created a graphical user interface for Splatter in the form of both an Application Visualization System (AVS) module and more recently as a Java applet. Through either interface, the user can control the rendering parameters, and with a "virtual trackball," the user can change the angle and distance of the view by manipulating the image window. After each change, the rendering engine running transparently on the T3E re-Splatters the volume.

The user also can specify color and opacity for the different materials in the volume. For example, with the Visible Human, the user can shade the muscles, bones, skin, and organs (Figure 1).


Figure 1: Viewing the Visible Human

Data sets from subjects in the Visible Human Project consist of 1,734 to 5,189 slices and range in size from one to 10 gigabytes. Each section shows different ways that Splatter can isolate different data features. (The shoulder section is taken from MRI data, not the Visible Human Project.)


Using Splatter is as easy as loading a Web page containing the applet, which opens a window for requesting rendering resources and starting a new session. Access to the Splatter engine is controlled via a third piece of software that schedules multiple users over a predefined pool of processors.

T3E PERFORMANCE

Originally designed for the CRAY T3D, Splatter was the first application ported to SDSC's T3E. Johnson has found that the T3E renders the same data set three to five times faster than the T3D, taking advantage of T3E improvements in I/O, processor speed, and interprocessor communication.

Rendering is a three-step process. Splatter first distributes the volume slices across the available processors, at which time the different materials are shaded with the proper color and transparency. This I/O-intensive step runs nearly five times faster on the T3E. Johnson attributes this to the fact that, unlike the T3D, the T3E is self-hosted, giving it direct access to local hard drives.

Next, the rendering step splats the voxels onto the image plane, a process that is almost entirely computation. Splatting runs three times faster on the T3E. "We should see closer to four-times speed-up if we did cache-level optimization," Johnson said.

Finally, the slices on each processor are composited into an image. The compositing step depends heavily on interprocessor communication and executes three times faster on the T3E. This is because the T3E has a more efficient version of the shared-memory function call used throughout the code and because the interconnect network is faster.

Further developments in resource accounting and data movement will eventually allow Splatter to reach a wide community of researchers. However, Splatter has already shown that today's hardware has the potential to let physicians interactively examine high-resolution medical data. --DH


RESEARCH [Contents] [Next Article]