Ray-based Data Level Comparisons of
Direct Volume Rendering Algorithms
Kwansik Kim and Alex Pang
Computer Science Department
University of California, Santa Cruz, CA 95064
We present a new method for comparing direct volume rendering (DVR) algorithms. The motivations for this work are: the prevalence of DVR algorithms that produce slightly different images from the same data set and viewing parameters, and the limitations of existing image level comparison methods. In this paper, we describe and demonstrate the effectiveness of several ray-based metrics for data level comparison of direct volume rendering (DVR) algorithms. Unlike other papers on DVR, the focus of this paper is not on speed ups from approximations or implementations with parallel or specialized hardware, but rather on methods for comparison. However, unlike image level comparisons, where the starting point is 2D images, the main distinction of data level comparison is the use of intermediate 3D information to produce the individual pixel values during the rendering process. In addition to identifying the location and extent of differences in DVR images, these data level comparisons allow us to explain why these differences arise from different DVR algorithms. Because of the rich variety of DVR algorithms, ?nding a common framework for developing data level comparison metrics is one of the main challenges and contribution of this paper. In this paper, we report on how ray tracing can be used as a common framework for comparing a class of DVR algorithms.
Key Words and Phrases: Scienti?c visualization, uncertainty, error, difference, similarity, metrics.
Direct volume rendering (DVR) is one of the most popular methods for visualizing 3D scalar data sets. It generates images directly from the data values without creating intermediate geometric representations. The basic idea behind DVR is the simulation of light interaction with matter [2, 7, 12]. DVR is also a view-dependent approach requiring recalculation each time the view point is changed. Because of the view-dependent nature and the calculations involved with reasonably sized 3D data sets, DVR is a relatively expensive approach. This has in turn spurned numerous research with the general goal of speeding up the process.
Most of the current DVR techniques fall into two main classes: a screen space approach and an object space approach. In screen space approaches, a ray is passed through each pixel of the screen space and traced through the volume. The color of the pixel is computed by sampling the volume data and integrating the color intensity contributions along the ray attenuated by the opacity of the medium [26, 13]. In object space approaches, each volume cell or voxel is traversed (either back to front or front to back order) and its contribution is computed and blended into the ?nal image [29, 30, 11]. Rendering speeds can be improved by a variety of methods such as exploiting spatial coherencies, rendering in frequency domain, and developing parallel algorithms.
A sampling of the variations for DVR include schemes like different transfer functions and optical models , ray casting with sampling at cell face intersections , ray casting with regular sampling along the ray [13, 22], splatting [29, 11], coherent projection , Fourier volume rendering , use of 3D textures , dedicated volume hardware [3, 21], taking advantage of spatial coherency with octree, binary space partitioning etc. [11, 4, 31], wavelets , shearing , parallelization with shear-warp , and permutation-warp , extensions to curvilinear and unstructured grids [5, 6], to name a few.
Unfortunately, this plethora of DVR methods produce images that are different from each other. In critical applications such as clinical medical imaging where DVR is the method of choice, this can be very disconcerting. Fortunately, more and more DVR papers address the issue of image quality [32, 27, 16, 18].
However, in those that address the issue, the norm is to use image level comparisons, and sometimes at the image summary level at best. There are inherent limitations to image level comparisons. For example, while image level comparisons can provide information as to the location and degree by which two images differ, they do not provide any information as to why the two images differ. This paper addresses this shortcoming by proposing the use of data level comparison techniques. The goal is that if two images differ in a signi?cant manner (e.g. presence or absence of a tumor from 2 DVR images), we want to provide an explanation of the cause for such difference. For the purposes of this paper, we focus our attention on DVR algorithms applied to regularly gridded data.
The paper is organized into the following sections: a summary of image level comparisons; what we mean by data level comparison; using a screen space algorithm as a basis for comparing other DVR algorithms; different data level comparison metrics; and several examples illustrating the usefulness of these metrics.
2 IMAGE LEVEL COMPARISON
Most work in comparing DVR images are performed at the image level. The most popular method in this category is side-by-side comparison. It provides users with an overall assessment of the images. For example, the leftmost image on the top row of Figure 1 can easily be seen as being darker than the two to its right. The main drawback of side-by-side comparison is that it leaves the burden to the users to identify regions of differences.
Another popular image level comparison method is the difference image. Two images are subtracted simply from one another. If the two images are exactly alike, then the resulting difference image should be black. The second row of Figure 1 shows the difference images obtained by subtracting the corresponding images above them. Difference images help the users identify the regions of differences quickly. However, if the differences are not signi?- cant, the difference images are not as effective. In these cases, image processing techniques, such as contrast stretching, are deployed to enhance these small differences.