|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
AVS TechnoteVolume Rendering in AVS5IntroductionVolume Rendering has become a critical visualization technique for much of the AVS community. AVS5 has several enhancements in it which make volume rendering more efficient and broaden the range of available techniques. These enhancements include: more efficient memory usage enabling the rendering of larger volumes; rendering 8-bit volumes directly rather than pre-colorizing them; and the addition of the SunVision cube volume renderer as an AVS module. Volume rendering is the creation of images directly from three-dimensional arrays of data without converting to an intermediate, polygon-based data format. In general, volume rendering can be performed more quickly than traditional polygon rendering (approaching 750,000 voxels per second for most software-based renderers) but has the reputation for being somewhat slower since the data sets tend to be Megabytes to tens of Megabytes in size. AVS customers use volume rendering regularly in fields such as Medical Imaging, Seismology and Non-destructive Evaluation. Volumes typically come from three-dimensional scanning systems such as CAT (Computed Axial Tomography), MRI (Magnetic Resonance Imaging), or LCM (Laser Confocal Microscopy) or some directly from three-dimensional simulations. Volume Rendering and AVSAVS5 provides four volume renderers each with different performance characteristics. It is the intent of this article to discuss each renderer, point out their strengths and weaknesses, and provide clues of how to most effectively use these tools. The volume renderers supported by AVS5 are: tracer, ucd tracer, volume render, and cube. In previous versions of AVS, volume rendering was often inefficient due to unnecessary data magnification for functions such as gradient shading and voxel colorizing. Large (10 MByte) data sets would get multiplied up to 21 times prior to rendering. This number breaks down into: the original 1 byte per voxel plus 4 bytes for colorizing, 12 bytes for the gradient information, and 4 bytes for the gradient shaded voxels. The allocation of unnecessarily large amounts of data frequently caused memory paging problems which limited the performance of the rendering modules. AVS5 solves most of these problems by:
Now, it is readily possible to render a 16 Mbyte data set on a 32Mbyte workstation. A session involving volume rendering should be a process of refinement: start off with the data set decimated to a low resolution and the output window fairly small. A new tool, average down, is provided as an alternative to the downsize module for this purpose. After you have selected your positioning and rendering parameters at low resolution, begin increasing both the data set size as well as the output image size. Most of the AVS5 rendering tools will provide you with low-resolution images in a couple of seconds, but may take between three and five minutes to compute a high resolution image. Discussion of ToolsHere is a break-down of the volume rendering tools available in AVS5 along with information regarding their advantages, disadvantages, and suitability for certain tasks. TRACERMETHODtracer is a software renderer which does ray-tracing on semi-transparent voxels. When not in interpolate mode, each voxel is assumed to be a constant opacity. In interpolate mode, the distance the ray travels through each voxel is computed and the opacity is determined based on surrounding data nodes. ADVANTAGES
DISADVANTAGES
MEMORY CONSUMPTION
PERFORMANCE:
TYPES OF DATA BEST SUITED FOR:
USAGE HINTS:Shading is accomplished by shading the voxels external to the module. This used to be a complicated, memory inefficient process involving colorizer, compute gradient, and gradient shade. In AVS5, it is recommended that the compute shade module be used. This will create a new dataset four times the size of the original one. UCD TRACERMETHODucd tracer is a version of the tracer module which traces tetrahedra rather than cubic cells. As a result, it can be used for creating volume renderings of UCD structures (converted to tetrahedra) and rectilinear and irregular field structures (once converted to UCD). ADVANTAGES
DISADVANTAGES
MEMORY CONSUMPTION
PERFORMANCE
TYPES OF DATA BEST SUITED FOR
USAGE HINTSA typical network for rendering irregular fields is: READ FIELD GENERATE COLORMAP
| |
DOWNSIZE |
| |
FIELD TO UCD |
| |
UCD HEX TO TET |
| |
--------------------------
| |
UCD TRACER
|
DISPLAY TRACKER
CUBEMETHODcube is the SunVision CUBEtool and is essentially a semitransparent isosurface ray tracer. In the ray-trace mode, a ray travels until it hits a surface (threshold) it cares about, computes the local gradient, shades it, and stops if the accumulated opacity is greater than 1.0. It is fast, memory efficient, and has some novel rendering modes. ADVANTAGES
DISADVANTAGES
MEMORY CONSUMPTION
PERFORMANCE:
TYPES OF DATA BEST SUITED FOR
VOLUME RENDERMETHODvolume render uses 3D alpha-texture maps in the geometry viewer to composite each slice of the volume as an alpha-texture mapped plane. This requires the software renderer on all platforms which do not have 3D alpha texture mapping. ADVANTAGES
DISADVANTAGES
MEMORY CONSUMPTION
PERFORMANCE
TYPES OF DATA BEST SUITED FOR
USAGE HINTS:Use bounding box mode in the geometry viewer to position the object. Start off with small windows and pump the output to the image viewer to scale the image up. 3D texture-mapping: brick, excavate brick, etc.METHODThis is not volume rendering per se, but is included since you can do very fast slices at data resolu tion (unlike arbitrary slice whose mesh-size is variable or orthoslice which produces large amounts of polygons for high-resolution data sets.) This is only valid in hardware rendering on machines with 3D textures but available under software rendering on all platforms. ADVANTAGES
DISADVANTAGES
MEMORY CONSUMPTION
PERFORMANCE
TYPES OF DATA BEST SUITED FOR
Feature Summary TableHere is a table of the techniques with a general overview of how well that technique performs in each category. 'E' means Excellent, 'G' means Good, 'P' means Poor.
The create surfaces mode gets a P and an E for performance because it takes a while to create the initial picture, but after that, you can modify the substance opacities, colors, and oblique slice plane within a second or two. Performance BenchmarksHere is a series of timing tests run on a SUN Sparc-2 with 32 Mbytes of memory. The test data set is 128x128x128 voxels (2.1 Mbytes). Tests were done at various output image resolutions.
Note: Fully Featured means "gradient shaded and with trilinear interpolation turned on". No features means "point sampling and no shading".
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||