Interactivity is crucial for efficient exploration and analysis of
volume data. Complex data sets require careful and frequent tuning of
visualization parameters to obtain meaningful visualization
results. The specification of a proper transfer
function [23,27,29,34], i.e., the assignment of optical properties to
data values within the volume is a complex task which benefits
greatly from immediate visual feedback by interactive
rendering of the volume. The main obstacle for interactive volume
rendering is simply the
amount of data to be processed for generating an image from a
volumetric data set. Typical volume sizes in medicine range from
voxels for MR data to
voxels for data
acquired with recent multi-detector CT scanners. For a
straight-forward approach, this would mean shading and compositing
16-500 million voxels for each single image - a tough task even for
multi processor hardware. Simple straight forward implementations of
volume rendering are only competitive in terms of performance if
directly implemented in hardware - like the VolumePro (vp500) volume
rendering board from Real Time Visualization [48].
Within this work, a novel, purely software-based solution to interactive rendering of volumetric data is presented, which is able to deliver interactive frame rates even on low-end hardware. The approach is also well-suited for use in networked environments due to a compact data representation. Several distinguishing features make the presented method a fast and flexible solution to interactive, software-based volume rendering for low-end hardware:
The voxel extraction approach can be seen as a hybrid approach between direct volume rendering, which directly operates on the original volume data, and approaches like marching cubes [33], which derive a polygonal representation of objects within the volume for rendering. On one hand, only a secondary data representation which represents the volume is used for rendering - the list of potentially contributing voxels. On the other hand, the voxel data within this data structure is just a space-efficient storage representation for a sparsely populated volume.