An Evaluation of Reconstruction Filters for Volume Rendering²
Stephen R. Marschner and Richard J. Lobb³ Program of Computer Graphics Cornell University, Ithaca NY 14853 [email protected] [email protected]
Abstract for volume resampling, and Wilhelms and Van Gelder men- To render images from a three-dimensional array of tion Catmull-Rom splines for isosurface topology disam- sample values, it is necessary to interpolate between the biguation [18]. The ªsplattingº methods of Westover [17] samples. This paper is concerned with interpolation meth- and Laur & Hanrahan [11] assume a truncated Gaussian ®l- ods that are equivalent to convolving the samples with a re- ter for interpolation, although the interpolation operation is construction ®lter; this covers all commonly used schemes, actually merged with illumination and projection into a sin- including trilinear and cubic interpolation. gle fast but approximate compositing process. Carlbom [3] We ®rst outline the formal basis of interpolation in discusses the design of discrete ªoptimalº ®lters based on three-dimensional signal processing theory. We then pro- weighted Chebyshev minimization. All of these schemes pose numerical metrics that can be used to measure ®lter fall within the standard signal processing framework of re- characteristics that are relevant to the appearance of im- construction by convolutionwith a ®lter, which is the model ages generated using that ®lter. We apply those metrics we use to analyze them. to several previously used ®lters and relate the results to The process of interpolation is often seen as a mi- isosurface images of the interpolations. We show that the nor aside to the main rendering problem, but we believe it choice of interpolation scheme can have a dramatic effect is of fundamental importance and worthy of closer atten- on image quality, and we discuss the cost/bene®t tradeoff tion. One needs to be aware of the limitations of interpola- inherent in choosing a ®lter. tion, and hence of the images produced, which are usually claimed to represent the original density function prior to 1 Introduction sampling. Sampling and interpolation are also basic to vol- ume resampling, and the cost of using more sophisticated Volume data, such as that from a CT or MRI scanner, is interpolation schemes may well be outweighed by the po- generally in the form of a large array of numbers. In order tential bene®ts of storing and using fewer samples. to render an image of a volume's contents, we need to con- struct from the data a function that assigns a value to every 2 Reconstruction Theory point in the volume, so that we can perform rendering op- erations such as simulating light propagation or extracting 2.1 Review of Fourier analysis isosurfaces. This paper is concerned with the methods of We will review Fourier analysis and sampling theory constructingsuch a function. We restrict our attention to the in two dimensions to make diagrams feasible; the general- case of regular sampling, in which samples are taken on a ization to three dimensions is straightforward. Some initial rectangular lattice. Furthermore, our analysis is in terms of familiarity is assumed; introductions to this subject can be uniform regular sampling, in which we have equal spacing found in [6] and [7]. along all axes, since the non-uniform case can be included Fourier analysis allows us to write a complex-valued
2
! C
by a simple scaling. function g : R as a sum of ªplane wavesº of the form
ω + ω Given a discrete set of samples, the process of obtain- exp i xx yy . For a periodic function, this can actu- ing a density function that is de®ned throughout the volume ally be done with a discrete sum (a Fourier series), but for is called interpolationor reconstruction;weusetheseterms arbitrary g we need an integral:
interchangeably. Trilinear interpolation is widely used, for Z
1
ω +ω
i xx yy
; = ω ; ω ω ω example in the isosurface extraction algorithms of Wyvill, g x y gà x y e d x d y π 2 et. al. [19], and Lorensen, et. al. [13, 4], and in many ray- 2 R tracing schemes (e.g., that of Levoy [12]). Cubic ®lters The formula to getg à from g is quite similar:
have also received attention: Levoy uses cubic B-splines Z
ω +ω