+ All Categories
Home > Documents > Spatial Domain Filter Design - Simon Fraser...

Spatial Domain Filter Design - Simon Fraser...

Date post: 18-Apr-2018
Category:
Upload: tranminh
View: 219 times
Download: 1 times
Share this document with a friend
19
invited paper, submitted to IEEE Transaction on Visualization and Computer Graphics (currently in review) Spatial Domain Filter Design Torsten Möller 1,2 , Raghu Machiraju 3,4 , Yair Kurzion 5 , Klaus Mueller 1 , Roni Yagel 1,2 1 Department Of Computer And Information Science 2 The Advanced Computing Center For The Arts And Design The Ohio State University, Columbus, Ohio 3 NSF Engineering Research Center For Computational Field Simulation 4 Department of Computer Science Mississippi State University, Mississippi 5 Silicon Graphics Inc. ABSTRACT In this paper, we present both a methodology and a rationale for designing filters based on spatial smoothness and accuracy crite- ria. Frequency based methods have been used to design function and derivative reconstruction filters especially in image and signal processing. Desired filter characteristics are specified in terms of spectral properties. However, for visualization and image synthe- sis algorithms it is more natural to specify a filter in terms of the smoothness of the resulting reconstructed function and the spatial reconstruction error. Most currently known filter choices are lim- ited to specific set of functions, and the visualization practitioner has so far no way to state his preferences in a convenient fashion. We first state our design criteria. The filter performance in our framework is specified by listing the accuracy and smoothness (of reconstructed function) through the use of three criteria. We pro- vide rigorous proof for the existence of a filter using results from approximation theory. Also, we provide a frequency domain per- spective of our three design criteria. In addition, we show that the filters designed using our framework have desirable spectral prop- erties by measuring the deviation from the ideal function or deriv- ative filter frequency response. We then provide a cookbook for designing filters and illustrate with examples. Finally, we present applications from volume rendering and pattern matching to vali- date our design methodology. Keywords: Interpolation (G.1.1) Approximation (G.1.2) Quadra- ture and Numerical Differentiation (G.1.4) Picture/Image Genera- tion (I.3.3) Reconstruction (I.4.5) Other Keywords: Volume Rendering, Filter Design, Interpola- tion, Derivatives 1. INTRODUCTION Reconstruction of a function and its derivatives from a set of given samples of that function is a fundamental operation in many algo- rithms employed in image analysis and synthesis, visualization, Computer-aided-geometric design. The original function is usually available as a set of samples on a certain mesh regime. The notion of ideal reconstruction is based on the assumption, that a given function is a member of a certain functional space, e.g. the L 2 space or the bandlimited function space. The appropriate func- tional space (and therefore the ideal reconstruction method) is usu- ally determined by the particular application. Therefore, it is not uncommon to assume that the given function belongs to either the space of smooth functions C n , (where n is an integer) or to the space of band-limited functions. It is noteworthy that the space of bandlimited functions form a sub-space of infinitely smooth func- tions, . Signal processing literature is replete with the treatment of the band-limited functional space. It turns out that the ideal recon- struction filters for the space of bandlimited functions are impracti- cal to use given their infinite spatial extents. Hence research in this area has focused on finding efficient filters that closely approxi- mate the ideal filter [1][5][8][11][13][17]. The consideration of the band-limited space allows for a good characterization of global errors such as ringing, aliasing and blurring, which is of concern in image synthesis and analysis and visualization [18]. Although the functional reconstruction methods are capable of limiting global errors, no local spatial assessment of their accuracy can be con- ducted directly. More importantly, it is very difficult to list the desirable set of filter characteristics. The intent of visualization is to discern structures present in a data set; the spatial frequencies are not known to the practitioner hence making the frequency- domain design quite arbitrary. Spatial domain techniques as a result have been proposed to enable design and evaluation of reconstruction filters [14][17][19][20][24]. The local error was measured and mini- mized using several methods including a Taylor series expansion of the reconstructed function [20][21]. Two criteria were proposed to control the accuracy. However, it was found that the sole con- cern for numerical accuracy can lead to discontinuous filters. Also, the post-aliasing properties [18] of the proposed filters were not very desirable leading to disturbing visual artifacts [20]. C {moeller, mueller, kurzion, yagel}@cis.ohio-state.edu, [email protected]
Transcript
Page 1: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

invited paper, submitted to IEEE Transaction on Visualization and Computer Graphics (currently in review)

Spatial Domain Filter Design

Torsten Möller1,2, Raghu Machiraju3,4, Yair Kurzion5, Klaus Mueller1, Roni Yagel1,2

1Department Of Computer And Information Science2The Advanced Computing Center For The Arts And Design

The Ohio State University, Columbus, Ohio

3NSF Engineering Research Center For Computational Field Simulation4Department of Computer Science

Mississippi State University, Mississippi

5Silicon Graphics Inc.

ABSTRACT

In this paper, we present both a methodology and a rationale fordesigning filters based on spatial smoothness and accuracy crite-ria. Frequency based methods have been used to design functionand derivative reconstruction filters especially in image and signalprocessing. Desired filter characteristics are specified in terms ofspectral properties. However, for visualization and image synthe-sis algorithms it is more natural to specify a filter in terms of thesmoothness of the resulting reconstructed function and the spatialreconstruction error. Most currently known filter choices are lim-ited to specific set of functions, and the visualization practitionerhas so far no way to state his preferences in a convenient fashion.

We first state our design criteria. The filter performance in ourframework is specified by listing the accuracy and smoothness (ofreconstructed function) through the use of three criteria. We pro-vide rigorous proof for the existence of a filter using results fromapproximation theory. Also, we provide a frequency domain per-spective of our three design criteria. In addition, we show that thefilters designed using our framework have desirable spectral prop-erties by measuring the deviation from the ideal function or deriv-ative filter frequency response. We then provide a cookbook fordesigning filters and illustrate with examples. Finally, we presentapplications from volume rendering and pattern matching to vali-date our design methodology.

Keywords: Interpolation (G.1.1) Approximation (G.1.2) Quadra-ture and Numerical Differentiation (G.1.4) Picture/Image Genera-tion (I.3.3) Reconstruction (I.4.5)

Other Keywords: Volume Rendering, Filter Design, Interpola-tion, Derivatives

1. INTRODUCTION

Reconstruction of a function and its derivatives from a set of givensamples of that function is a fundamental operation in many algo-rithms employed in image analysis and synthesis, visualization,Computer-aided-geometric design. The original function is usuallyavailable as a set of samples on a certain mesh regime. The notionof ideal reconstruction is based on the assumption, that a givenfunction is a member of a certain functional space, e.g. the L2space or the bandlimited function space. The appropriate func-tional space (and therefore the ideal reconstruction method) is usu-ally determined by the particular application. Therefore, it is notuncommon to assume that the given function belongs to either thespace of smooth functions Cn, (where n is an integer) or to thespace of band-limited functions. It is noteworthy that the space ofbandlimited functions form a sub-space of infinitely smooth func-tions, .

Signal processing literature is replete with the treatment of theband-limited functional space. It turns out that the ideal recon-struction filters for the space of bandlimited functions are impracti-cal to use given their infinite spatial extents. Hence research in thisarea has focused on finding efficient filters that closely approxi-mate the ideal filter [1][5][8][11][13][17]. The consideration of theband-limited space allows for a good characterization of globalerrors such as ringing, aliasing and blurring, which is of concern inimage synthesis and analysis and visualization [18]. Although thefunctional reconstruction methods are capable of limiting globalerrors, no local spatial assessment of their accuracy can be con-ducted directly. More importantly, it is very difficult to list thedesirable set of filter characteristics. The intent of visualization isto discern structures present in a data set; the spatial frequenciesare not known to the practitioner hence making the frequency-domain design quite arbitrary.

Spatial domain techniques as a result have been proposed to enabledes ign and eva lua t i on o f r econs t ruc t i on f i l t e r s[14][17][19][20][24]. The local error was measured and mini-mized using several methods including a Taylor series expansionof the reconstructed function [20][21]. Two criteria were proposedto control the accuracy. However, it was found that the sole con-cern for numerical accuracy can lead to discontinuous filters. Also,the post-aliasing properties [18] of the proposed filters were notvery desirable leading to disturbing visual artifacts [20].

C∞

{moeller, mueller, kurzion, yagel}@cis.ohio-state.edu, [email protected]

Page 2: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

In [22] we introduced an additional criterion of smoothness whichhelped mitigate the adverse effects of aliasing in the generatedimages. Therein we introduced for the first time, general spatialdomain filter design criteria for interpolation and derivative filterswhich yielded functions with a minimal numerical error and goodspectral properties. The only assumption we required of the origi-nal function (represented by the given samples) is that it is smoothand a member of the functional space Cn.

Our filter design is not restricted to cubic polynomial basis func-tions, but can generate filters of arbitrary smoothness and accu-racy. In [22] and in this paper, we design optimized piecewisepolynomial interpolation filters according to a set of smoothnessand accuracy requirements. These filters are drawn from the set ofall piecewise polynomial filters, a more general class of filters thanthe popular BC-splines. Since our methods also apply easily to anyderivative filter design, we find optimal piecewise polynomial gra-dient filters as well. Our results, which go beyond the de-factostandard of the popular cubic BC-splines introduced by Mitchelland Netravali [19], are summarized in Table 1 and Table 2. Thesetables provide a guide to which filters should be used in mostapplications. Furthermore, we provide the practitioner with an easyand convenient way to design filters that are specific to their appli-cations by determining an application oriented set of smoothnessand accuracy criteria.

Although the results presented in [22] allowed for validation of ourfilter design techniques, rigor was missing in several ways. Forinstance, our filter design methodology did not guarantee the exist-ence of a filter. Also, the design methodology proposed earlier wasad-hoc. In this paper, we provide very rigorous proof that the threedesign criterion can indeed yield smooth, symmetric filters withsmall number of taps to reconstruct the function and any of itsderivatives. Also, missing was a clear perspective on the frequencydomain implications of our design criterion. We provide someinsights using results from frequency domain analysis.

The outline of this paper is as follows; Section 2 summarizes pre-vious research in this field. In Section 3, we introduce the designcriteria that we use in Section 5 to design new filters. Section 4contains frequency domain explanations of our design criterion. InSection 6 we present some experimental results and in Section 7we suggest steps for furthering this research. Finally, in Section 8,we summarize our findings.

2. PREVIOUS RESEARCH

Two of the more important and well studied reconstruction algo-rithms are interpolation and gradient estimation. In volume render-ing, we must be able to interpolate the function at arbitrarylocations to obtain the volume densities needed for arbitrary view-ing. The gradient (the first derivative of the function) is employedin both volume classification and shading [7][16]. If the gradientestimation is done incorrectly, shading and classification will yieldmisleading colors and opacities.

Many researchers have shown that the Sinc filter is an ideal inter-polation filter for the space of bandlimited functions (a subclass of

). In this space the Cosc filter, which is the analytic derivativeof the Sinc filter, is an ideal derivative filter [1][8][23]. These fil-ters completely cut off the frequencies above a certain Nyquist fre-quency. Because of this discontinuity in the frequency domain,those filters have infinite support in the spatial domain and there-

fore are impractical to use for digital signals. Windowing the Sincfilter was introduced in order to smoothly limit this filter spatially[13][23]. Carlbom [5] computed an approximation to a modifiedSinc filter with a minimized Chebychev error. Goss [11] extendedthe idea of windowing from interpolation filters to derivative fil-ters. He used a Kaiser window to mitigate the adverse effects of thetruncated ideal derivative filter. Instead of trying to find a goodapproximation to the ideal filter for all frequency ranges, DuttaRoy and Kumar’s filter design [8] can be easily adapted to findgood approximations for select frequency ranges.

A comparative study by Marschner and Lobb [18] proposed theuse of different error metrics for various reconstruction artifacts ofinterpolation filters. These error metrics operate in the frequencydomain and measure the smoothing, post-aliasing, and overshootattributes of an interpolation filter. This study showed that the win-dowed Sinc filter has the best behavior.

In the spatial domain, Keys [14] analyzed a certain class of cubicsplines, also called cardinal splines, using a Taylor series expan-sion. He showed that, within this class, the Catmull-Rom spline isoptimal in the sense that it interpolates the original function withthe smallest asymptotic spatial error. He also graphically comparedthe Catmull-Rom spline with the ideal interpolation filter, noticingthat it is suitable for practical applications in computer graphics.Mitchell and Netravali [19] introduced a more general class ofcubic splines which we refer to as BC cubic splines or in short, BC-splines. Cardinal cubic splines are a subclass of the BC-splines.Mitchell and Netravali conducted a study involving more than 500sample images, classifying the parameter space into differentregions of dominating reconstruction artifacts such as blurring,ringing, and anisotropy. They found, by using a Taylor seriesexpansion, that filters for which are the most numer-ically accurate within the class of BC-splines and have an errorproportional to the square of the sampling distance. They alsofound, through their empirical studies, that these filters, althoughnumerically superior, are not always visually superior.

Recently, we have shown [20] that the derivative approximationhas a larger impact on the quality of the volume rendered imagethan the interpolation operation and therefore deserves a thoroughanalysis. Unfortunately, not much work has been done in the spa-tial design of derivative filters. Bentum et al. [1] use the Cardinalcubic splines as a basis to constructing the derivative filter throughan analytic derivation of the interpolation filter. Although theauthors illustrate the effect of various parameters on these filtersvia a number of frequency plots, they do not analytically comparethe different filters. We (in [20]) have developed tools for the spa-tial analysis of both interpolation and derivative filters of arbitraryorder. We used a Taylor series of the convolution sum in order tocome up with four evaluation criteria. These criteria includeasymptotic, as well as absolute, local error effects of the filter onthe reconstructed function. We use these criteria in our currentpaper as a way to control the numerical error of the filters that wedesign. Using the methods developed in [20] we conducted a com-parison of various derivative (normal vector) reconstruction meth-ods and classified them into four reconstruction schemes [21].

Since we will employ the results of [20] throughout our paper, weinclude a summery here.

C∞

B 2C+ 1=

Page 3: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

2.1 Taylor Expansion of the Convolution SumTo reconstruct a continuous function f(t) or its derivative froma set of sample points f[k], we convolve f[k] with a continuous fil-ter kernel w. The filter w can be either an interpolation or a deriva-tive filter. We denote the result of this operation by .Formally, this can be written as:

, (1)

where T is the sampling distance. Now we can expand into a Taylor series of N+1 terms about t. The

Taylor series expansion at that point would be:

where is the n-th derivative of f and .

Substituting the Taylor series expansion into the convolution sumof Equation 1, leads to an alternative representation for the recon-structed value at a point t:

(2)

where τ is chosen such that , with , and i isan integer. It is noteworthy that the derived error coefficients aonly depend on the offset τ to the nearest sampling point, i.e., theyare periodic in the sampling distance T. For further details, pleaserefer to [20].

The characterization of the filtering process in Equation 2 imposesfour different criteria for a good reconstruction scheme of the k-thderivative. First of all, we require to be zero for all n smallerthan k. Secondly we have to normalize by in order to recon-struct the actual derivative as opposed to some multiple of it. Fur-ther by determining the largest N, such that is zero, we candetermine the asymptotic error behavior of a filter for a decreasingsampling distance T. Finally, the remainder term r gives us an indi-cation of the absolute error of that filter.

This expansion of the convolution sum assumes that at least thefirst N derivatives of the function f exist, where N depends on ourerror analysis. Hence, we assume that the underlying function is amember of the class of smooth functions CN. This condition is gen-erally met in practice [3][20][25].

3. DESIGN CRITERIA

Whenever we are trying to reconstruct a function from samplepoints we are hoping that the reconstruction process performs well

and we don’t get many artifacts. However our understanding ofsuch terms like good reconstruction as well as artifacts during thisprocess is usually highly dependent on the specific application.Most applications share an attempt to recover the original sampledfunction as accurately as possible. In order to measure the accu-racy of the process, one must have an idea about the type of origi-nal function from which the samples were recovered. As we havepointed out in Section 2.1, it is not restrictive to most applicationsto assume that the original function is continuous to some degreeM and therefore belongs to the class of functions CM. This is theonly assumption, that we require for our filter design.

In addition of hoping for an accurate function reconstruction,almost all applications will require the reconstruction of a smoothfunction. Since we assume a smooth original function, it is naturalto expect a smooth function as the result of the reconstruction pro-cess. A smooth reconstruction will also guarantee the disappear-ances of image artifacts in visualization and imaging applications.Another application is CAD in which designers reconstruct sur-faces from a set of sample points (knots) using basis functions thatare developed to yield surfaces of C1, C2 or higher continuity. Thereason for smooth function reconstruction is that our visual systemis capable of detecting and enhancing even small discontinuities inimages. For example, in Fig. 12b and Fig. 13b (see color plates)we reconstructed a test function (introduced in [18]) and an MRIdata set with a filter that was designed solely by requiring highaccuracy [20] and therefore yields very little absolute error. It,however, suffers from discontinuities, leading to a discontinuousreconstructed function. Consequently, we would like to reconstructa function, that is a member of the continuous function space CM.

For practical applications, the efficiency of the reconstruction pro-cess is of great importance as well. In volume rendering, the effi-ciency of a reconstruction filter, which is employed routinely manytimes [1], is a source of great concern. It is desirable to use as fewsamples as possible in order to reconstruct the function at a newlocation. Hence we would like to do design filters with as few aspossible filter weights. We have solved this question by minimiz-ing the number of weights and by designing the most efficient fil-ter fulfilling the constraints of the design.

Since our application domain are visual algorithms, we are onlyinterested in symmetric reconstruction kernels for interpolationand even derivative filters and anti-symmetric kernels for oddderivative function reconstruction.

We conclude that for general filter design we have to answer threequestions:

• What derivative of the original function do we want to recon-struct?

• What accuracy do we require from the reconstruction process?

• What space CM should the reconstructed function belong to?

The first two questions can easily be expressed using the frame-work developed in [20]. Assuming that we want to reconstruct thed-th derivative of the given digital signal f, we simply require thatall error coefficients in Equation 2 be zero, where n < d. Fur-ther, we require that the coefficient of the d-th derivative be one.Formally, this can be expressed as:

Criteria 1: for all and .

f′ t( )

frw t( )

frw

t( ) f k[ ] wtT--- k–( )⋅

k ∞–=

∑=

f k[ ] f kT( )=

f k[ ] fn( )

t( )n!

------------- kT t–( )n

n 0=

N

∑f

N 1+( ) ξk( )

N 1+( )!------------------------- kT t–( ) N 1+( )+=

fn( )

t( ) ξk t kT,[ ]∈

frw

t( ) anw τ( )f n( ) t( )

n 0=

N

∑ rN i,w τ( )+=

anw τ( ) Tn

n!----- k τ–( )nw τ k–( )

k ∞–=

∑=

rN i,w τ( ) max

ξ i M–( )T i M+( )T,[ ]∈f N 1+( ) ξ( )( )

aN 1+w τ( )≤

or

rNw τ( ) aN 1+

w τ( )f N 1+( ) t( )≈

t i τ+( )T= 0 τ≤ 1<

anw

akw

aNw

anw

anw 0= n d< ad

w 1=

Page 4: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

The major goal of the design in spatial domain is numerical accu-racy. We gain numerical accuracy by requiring the error coeffi-cients beyond d to be zero. This leads to what we call N-EFfilters (that is, Error Function of the Nth order) ([20]):

Criteria 2: for all .

It is no restriction to consider the filter w to be composed of ele-ments wk, which are defined by

,

where the wk are functions defined on the domain [0,1]. An exam-ple of this piecewise decomposition of the filter w is illustrated inFig. 1. Now it is easy to see that the first two conditions yield anequation system in the unknowns wk.

, (3)

where . The matrix in Equation 3 is also knownas the transpose of the Vandermonde matrix.

Since we are only interested in (anti)-symmetric filters, we onlyconsider filters with an even number of filter weights. Hence l ischosen such that 2l is bigger than the number of conditions in Cri-teria 1 and 2, i.e. .

The solution of the system in Equation 3 defines a filter w, that ful-fills Criteria 1 and 2. This linear equation system can easily besolved symbolically by Gaussian elimination or by determining theinverse of the Vandermonde matrix. This concludes the first step ofour filter design, defining a class of filters, that guarantee an N-EFaccurate reconstruction of the d-th derivative of the original func-tion.

As we have pointed out earlier, not every filter of this class yields acontinuous reconstructed function and therefore might lead toundesirable artifacts. Hence, we desire the reconstructed functionto be part of a smooth function space CM. From Equation 1 it isclear that we need to require our filter w to be in this class. In orderto be a member of CM, a function w and its M derivatives must allbe continuous everywhere, including every open interval for every integer k, and also at all the integer points k themselves.Since the equation system of Criteria 1 and 2 yields a piecewise fil-ter kernel, we can mathematically express the smoothness criteriaas:

Criteria 3: and for all k and all

, where denotes the m-th derivative of .

After solving the equation system of Criteria 1 and 2 and determin-ing the smoothness of the desired filter, we have a new set of crite-ria for our filter that needs to be met. In order to design an actualfilter, we have to find a solution that fulfills all these conditions.While it is not necessary to restrict oneself to piecewise polyno-mial filters, we have done so here. The reason for this is that theyare easy to use and implement, and are therefore very popular.Now Criteria 1, 2 and 3 translate to a linear equation system in thecoefficients of piecewise polynomials. The solution of this equa-tion system yields a class of polynomials. These can be furtherrestricted by choosing efficient filters, i.e. with the least number offilter weights and small degrees of polynomials. Summarizing thefilter design includes the following steps:

Step 1: Solve a linear equation system created by Criteria 1 and 2in the pieces wk of the filter w.

Step 2: Choose a set of basis functions for the representation of wk.

Step 3: Solve for the coefficients of the basis functions, consider-ing Condition 3 as well as the solution of Step 1.

3.1 Existence of a solutionWhile all our filter design criteria are easy to formulate it is notclear that there exists a filter fulfilling all three criteria while being(anti)-symmetric at the same time.

It is well known that the inverse of the Vandermonde matrix exists.Hence it is obvious that, considering solely Criteria 1 and 2, a solu-tion exists. We have pointed out already that solely basing the filterdesign on accuracy issues can lead to discontinuous filters. How-ever it is not obvious that the set of filters fulfilling Criteria 1 and 2will contain any smooth kernels or symmetric or anti-symmetrickernels. Therefore we will prove some features of the inverse ofthe Vandermonde matrix that will enable us to prove the existenceof a filter fulfilling Criteria 1 through 3 assuring (anti)-symmetrickernels.

Since our filter weights will be determined by the solution ofEquation 3 we will first show, that the matrix elements of theinverse of the Vandermonde matrix are the coefficients of theLagrange polynomials. Before we do so, we’d like to introducesome notations:

anw

anw 0= d n N d+< <

wk wk τ( ) w τ k+( )= =

1 1 … 1

x l– x l– 1+ … xl 1–

x l–2

x l– 1+2 … xl 1–

2

… … … …

x l–2l 1–

x l– 1+2 l 1– … xl 1–

2l 1–

w l–

w l– 1+

…wl 1–

a0

a1

…a2 l 1–

=

xk τ( ) k– τ–( )=

l N d+( ) 2⁄≥

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

-2 -1 0 1 2

Catmull-Rom Interpolation Filter

FIGURE 1. A piecewise polynomial interpolation filter usingfour filter weights . Essentiallythe filter has L parts. For both symmetric and anti-symmet-ric filters L=2l is even.

wk wk τ( ) w τ k+( )= =

w-2(τ) w-1(τ) w0(τ) w1(τ)

k k 1+( , )

wk τ( ) CM∈ wk

m( )1( ) wk 1+

m( )0( )=

m M< wkm( )

wk

Page 5: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

is the Vandermonde Matrix in the elements (x-l, x-l+1, ..., xl-

1), where the xk are defined as . Furthermore wedefine the Lagrange polynomials as:

,

for , which simplifies to

.

Here we need to note that lk is the Lagrange polynomial in x, but itis still dependent on τ, because the xi are functions in τ. We denotethe coefficients of the Lagrange polynomial lk as , such that:

.

In order to keep the formulas simple and easier for the reader tofollow, we don’t always write the dependence of the coefficients con τ. Furthermore, we use vector notation to simplify our equa-tions:

, , and

Our goal in this section is it to proof some properties of the filtersobtained by solving the equation system in Equation 3. In order todo so it is advantageous to have a direct description of the filterweights wk resulting from Equation 3. Therefore we would need tocompute the inverse of the Vandermonde matrix. We show in thefollowing lemma, how it can be computed.

LEMMA 1: The inverse of the Vandermonde matrix V, that is basedon the values (x-l, x-l+1, ..., xl-1) is defined by the coefficients ofthe Lagrange polynomials lk:

. (4)

Proof: Without restrictions, let us assume the inverse of the Van-dermonde matrix V would be

, with .

Since , where I denotes the unity matrix, we concludethat

, (5)

where ek denotes the k-th unity vector, i.e. all components of ek arezero, except for the k-th component, which is one. At the sametoken we can consider Equation 5 an equation system, whose solu-tion are the coefficients of a polynomial pk(x) of degree 2l-1,for which we have

where .

Since each polynomial can be expressed in a linear combination ofthe Lagrange polynomials, we conclude

.

In order for 2 polynomials to be identical, their coefficients mustbe the same. Therefore we conclude, that

for all .

q.e.d.

Now we can directly compute the solution of Equation 3.

THEOREM 1:The solution of Equation 3 can be written as

(6)

for all .

Proof: From Equation 3 we conclude, that

.

One can easily show, that the inverse of the transpose of a matrix isidentical to the transpose of the inverse of that matrix. That meanswe can simply form the transpose of the inverse of the Vander-monde matrix and combine it with our vector of error coefficientsA in order to compute our filter weights W. Using the form of theinverse of the Vandermonde matrix computed in Lemma 1 provesour theorem.

q.e.d.

Having a closer look at the vector of error coefficients A, we willfind that the accuracy criteria (Criteria 1 and 2) set most of them tozero. For our specific application of designing d-th derivative NEF

V

1 x l– x l–2 … x l–

2 l 1–

1 x l– 1+ x l– 1+2 … x l– 1+

2 l 1–

… … … … …

1 xl 1– xl 1–2 … xl 1–

2 l 1–

=

xk τ( ) k– τ–( )=

lk x τ,( ) x xi–( )i l–=

i k l–≠

l 1–

xk l– xi–( )i l–=

i k l–≠

l 1–

⁄=

k 0 1 … 2l 1–, , ,[ ]∈

lk x τ,( ) x xi–( )i l–=

i k l–≠

l 1–

1–( )k

k! 2l k– 1–( )!----------------------------------=

cjk τ( )

lk x τ,( ) cikx

i

i 0=

2l 1–

∑=

W

w l–

w l– 1+

…wl 1–

= A

a0

a1

…a2 l 1–

= Ck

c0k

c1k

c2l 1–k

= X

1

x

x2l 1–

=

V1–

C0

C1 … C

2 l 1–, , ,( )=

V1–

C̃0

C̃1

… C̃2 l 1–

, , ,( )= C̃k

c̃0k

c̃1k

c̃2 l 1–k

=

VV1–

I=

VC̃k

ek=

C̃k

pk xj( )1

0

=j k l–=

j k l–≠j l– l– 1+ …, , l 1–[ , ]∈

pk x( ) XTC̃

kek

T

l0 x( )

l1 x( )

…l2 l 1– x( )

lk x( ) XTC

k= = = =

C̃k

Ck

= k 0 1 … 2l 1–, , ,[ ]∈

w l– k+ τ( ) CkA ci

k τ( )ai τ( )

i 0=

2l 1–

∑= =

k 0 1 … 2l 1–, , ,[ ]∈

W VT( )

1–A=

Page 6: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

filters we find, using our just proven Equation 6, that the descrip-tion of our filter weights greatly simplifies. Specifically, if we areassuming, that (N+d) is even, we can write

.

However, this is a unique solution and doesn’t allow any room tobe adapt to different design criteria, e.g. the smoothness criteria(Criteria 3). In order to introduce degrees of freedom, we will haveto extend the size of the filter by 2, if this filter does not fulfill thesmoothness criteria. This would lead to

.

In the case that (N+d) is odd we have the following solution:

.

If the number of conditions (N+d) of Criteria 1 and 2 is even andthe Criteria 3 is fulfilled, we obviously don’t need to show, that asolution exists. Therefore we assume the case, that we have one ortwo free variables and to choose. Our respon-sibility of proving that filters exist, which fulfill all three of ourdesign criteria simplifies to the task to show, that there are func-tions and , that will lead to smooth and (anti)-symmetric filters. We will even go further and show that forrestricting to being zero, that our restricted solutionspace still contains desired filters.

From now on we will assume, that our filter has the form:

. (7)

First we will show, that among all filters, that fulfill Equation 7(and therefore Criteria 1 and 2) there exist some which are (anti)-symmetric. Before we continue, we will introduce some morenotation that simplifies our formulas and proofs. We will use analternative notation for the Lagrange polynomials:

, (8)

where we define h to be

.

Because of the simple definition of the xk we easily conclude thefollowing properties:

Using these characteristics of the functions xk, one can derive withlittle effort the following properties on our just defined functions h:

.

Now we are ready to show the existence of (anti)-symmetric fil-ters, that fulfill Equation 7:

THEOREM 2:All filters fulfilling Equation 7 are (a) symmetric iff d is even and a is anti-symmetric(b) anti-symmetric iff d is odd and a is symmetric.

First consider only all the functions a(τ), that are symmetric oranti-symmetric according to d. This can be formulated by the fol-lowing condition on a(τ):

, (9)

Hence for even d a(τ) is an anti-symmetric function and for odd da(τ) is symmetric accordingly.

In order to proof this theorem let us show a similar symmetry kindof property of Lagrange polynomials.

.

From which we conclude

This basically equates two polynomials (in x). Two polynomialsonly can be equal, if their coefficients are identical. Ergo we con-clude, that

. for all

Finally we can show for the filter coefficients w-l+k:

.

This directly proofs the theorem.

q.e.d.

We have restricted the space of all possible variables a(τ), thatdefine our space of all possible solutions in Equation 7 by those,that fulfill Equation 9. These are basically all (anti)-symmetricfunctions. Of course, there are still infinite many such functions.Thus we still have infinite many filters, that fulfill the accuracy cri-teria and are (anti)-symmetric. We are left to show that among allthose functions, there exist filters, that are also M-times continuousand therefore fulfill our smoothness criteria - Criteria 3. Before wecan proof this, we’d like to prepare this theorem with 2 lemmas,which proof further qualities of the Lagrange polynomials, that weneed for our final theorem.

In the following we will note the n-th derivative of any function fby τ by f(n).

LEMMA 2: For the Lagrange polynomials defined in Equation 8,we can find, that

.

This can easily be proven by using, that

w l– k+ τ( ) cdk

=

w l– k+ τ( ) cdk τ( ) a2l 2– c2 l 2–

ka2l 1– c2 l 1–

k+ +=

w l– k+ τ( ) cdk τ( ) a2 l 1– c2l 1–

k+=

a2l 2– τ( ) a2l 1– τ( )

a2l 1– τ( ) a2l 2– τ( )

a2 l 2– τ( )

w l– k+ τ( ) cdk τ( ) a τ( )c2 l 1–

k τ( )+=

lk x τ,( ) 1–( )k

k! 2l k– 1–( )!----------------------------------

x x l––( )x xk l––( )

------------------------h x τ,( )=

h x τ,( ) x xi–( )i l– 1+=

l 1–

∏=

xk 1 τ–( ) k– 1 τ–( )–( ) x k– 1– τ( )–= =

xk τ–( ) x k– τ( )–=

h x– τ–,( ) h x τ,( )–=

h x– 1 τ–,( ) h x τ,( )–x x l––( )

x xl 1––( )------------------------=

a 1 τ–( ) 1–( )d 1+a τ( )=

lk x 1 τ–,( ) 1–( )k

k! 2l k– 1–( )!----------------------------------

x xl 1–+( )x xl k– 1–+( )

-------------------------------h x 1 τ–,( )=

1–( )k 1+

k! 2l k– 1–( )!----------------------------------h x– τ,( )

x xl 1–+( )x xl k– 1–+( )

-------------------------------x x l–+( )

x xl 1–+( )-------------------------=

lk x 1 τ–,( ) l2 l 1– k– x– τ,( )=

cjk

1 τ–( ) 1–( )jcj

2 l 1– k– τ( )= j 0 1 … 2l 1–, , ,[ ]∈

w l– k+ 1 τ–( ) cdk

1 τ–( ) a 1 τ–( )c2 l 1–k

1 τ–( )+=

1–( )dcd

2l 1– k–τ( ) 1–( )d 2l+

a τ( )c2l 1–2l 1– k– τ( )+=

1–( )dwl 1– k– τ( )=

2l k–( )l0n( )

x 0,( ) kl2 l 1–n( )

x 1,( )– 2l2l 1–( )!

--------------------hn( )

x 0,( )=

Page 7: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

and

and by taking the n-th derivative we have

and .

from which the Lemma follows.

q.e.d.

LEMMA 3: For the Lagrange polynomials defined in Equation 8,we can find, that

.

In order to prove this, we will first define a function g1:

,

and therefore

for

Using this expression in the description of the first Lagrange poly-nomial under consideration, , we will find for it’s n-thderivative

.

Computing the n-th derivative of the second Lagrange polynomialunder consideration, , we define a similar functiong2

,

and for it’s n-th derivative

for ,

Now we can express the n-th derivative of in a sim-ilar form as above:

Now we replace τ by zero and find that

.

Now we find, that when we substract the n-th derivatives of thetwo Lagrange polynomials, all the terms that include derivatives ofthe function g will cancel out and we are left with

,

which proves the Lemma.

q.e.d.

Now we have all the tools together to prove the main importantTheorem of this section.

THEOREM 3:All filters, that can be expressed by

for all , (10)

where , are (anti)-symmetric filters, that fulfill ouraccuracy and smoothness criteria (Criteria 1 through 3).

Theorem 2 shows, that the above filters have (anti)-symmetric ker-nels. What remains to be shown is, that the class of filters definedabove are also in the class CM. Since the coefficients of theLagrange polynomial are polynomials in τ, we conclude, that theyare in the class . Since also , we only need to showthat the filter weights wk are continuous at the point zero and one:

for all

as well as

But from Lemma 2 and Lemma 3 we conclude, that

.

Considering the definition of the Lagrange polynomial, we findthat the coefficient must be a polynomial in τ of degree 2l-1-j.Especially we find that , the coefficient in front of the high-est degree of the Lagrange polynomial, must be a constant andtherefore be:

.

Therefore we can simplify

Again since two polynomials are equal only if the coefficients areidentical, we can conclude, that

.

Because of the (anti)-symmetry of a and cd, we also have:

,

l0 x τ,( )h x τ,( )2l 1–( )!

--------------------= l2 l 1– x 1 τ–,( )h– x τ–,( )2l 1–( )!

---------------------=

l0n( )

x τ,( )h

n( )x τ,( )

2l 1–( )!---------------------= l2 l 1–

n( )x 1 τ–,( )

hn( )

x τ–,( )2l 1–( )!

------------------------–=

lkn( )

x 0,( ) lk 1–n( )

x 1,( )– 1–( )k2l

k! 2l k–( )!-------------------------h

n( )x 0,( )=

g1 x τ,( )x x l––( )

x xk l––( )------------------------ x l– τ+( )

x l– τ k+ +( )---------------------------------= =

g1n( )

x τ,( )n! 1–( )n 1+

k

x l– τ k+ +( )n 1+-------------------------------------------= n 0>

lk x τ,( )

lkn( )

x τ,( ) 1–( )k

k! 2l k– 1–( )!----------------------------------

n

i g1

n i–( )x τ,( )h

i( )x τ,( )

i 0=

n

∑=

lk 1– x 1 τ–,( )

g2 x τ,( )x x l–+( )

x xl k–+( )------------------------ x l τ–+( )

x l– τ– k+( )--------------------------------= =

g2n( )

x τ,( )n! 2l k–( )

x l– τ– k+( )n 1+------------------------------------------= n 0>

lk 1– x 1 τ–,( )

lk 1–n( )

x 1 τ–,( ) 1–( )n k 1–+

k 1–( )! 2l k–( )!---------------------------------------

n

i g2

n i–( )x τ,( ) 1–( )i

hi( )

x τ–,( )i 0=

n

∑=

g2n( )

x 0,( ) g1n( )

x 0,( ) 1–( )n 1+ 2l k–( )k

------------------=

lk 1–n( )

x 1,( )– lkn( )

x 0,( )+

1–( )kh

n( )x 0,( )

k 1–( )! 2l k–( )!--------------------------------------- g2 x 0,( ) 2l k–( )

k------------------g1 x 0,( )+

=

w l– k+ τ( ) cdk τ( ) a τ( )c2l 1–

k τ( )+=

a 1 τ–( ) 1–( )d 1+a τ( )=

An τ

n

dd a 0( ) 2l 1–( )– !

τ

n

dd cd

00( )= =

n M≤

a τ( ) CM∈

C∞

a τ( ) CM∈

w l– k 1–+n( )

1( ) w l– k+n( )

0( )= k 1 2 … 2l 1–, , ,[ ]∈

w l–n( )

0( ) wl 1–n( )

1( ) 0= =

lkn( )

x 0,( ) lk 1–n( )

x 1,( )–

1–( )k2l 1–( )!

k! 2l k–( )!---------------------------------- 2l k–( )l0

n( )x 0,( ) kl2 l 1–

n( )x 1,( )–( )=

cjk

c2 l 1–k

c2 l 1–k τ( )

1–( )k

k! 2l k– 1–( )!----------------------------------=

lkn( )

x 0,( ) lk 1–n( )

x 1,( )–

2l 1–( )! c2 l 1–k

0( )l0n( )

x 0,( ) c2l 1–k 1–

1( )l2 l 1–n( )

x 1,( )+( )=

τ

n

dd cd

k0( )

τ

n

dd cd

k 1–1( )–

2l 1–( )! c2l 1–k

0( )τ

n

dd cd

00( ) c2l 1–

k 1–1( )

τ

n

dd cd

2l 1–1( )+

=

Bn τ

n

dd a 1( ) 2l 1–( )!

τ

n

dd cd

2l 1–1( )= =

Page 8: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

which leads to

,

which proofs:

,

while follows from the definition of Anand Bn. This concludes our proof.

q.e.d.

It is well known, that there are infinitely many polynomials, thatfulfill the conditions set by Equation 10. Therefore we have proventhat there are infinitely many filters, that fulfill our accuracy andsmoothness condition - Criteria 1, 2 and 3.

4. FREQUENCY CONSIDERATIONS

Our design criteria also have validity in the frequency domain. Wewill now show, that our accuracy criteria, defined by specifying theerror coefficients , translate to conditions on the frequency rep-resentation of the filter w at the DC value. In order to do so, let usfirst recall, how the filter w is used for the reconstruction of a func-tion f in Equation 1:

.

We determined our τ, such that . Let us adopt this for-mula to the special case, that and that our sample points

are the special trigonometric function .Then Equation 1 simplifies to

Here j represents the imaginary number . In other words weare giving as input pure shifted frequencies. The output measuresthe frequency response of the filter with weights , whichwe denote by . Let us have a look at the properties of thisfrequency response. In order to do so, we will examine at thederivatives in ω of the frequency response:

Now, setting to zero, we come up with the following result:

.

From this result the connection of our design criteria and the powerspectrum of our designed filter w is obvious. Thus, Criteria 1 andCriteria 2 both translate to controlling the slope of the spectrum atω=0. The frequency equivalent of the design Criteria 1 and 2 canbe formulated as following:

Criteria 1: for all and .

Criteria 2: for all .

Thus, if one wants to design a N-EF d-th derivative filter, the d-thderivative of the amplitude spectrum is unity while all the otherderivatives are zero. Thus for a first derivative filter, a N1-EF filterwill accentuate lower frequencies more than a N2-EF filter if

. The reason is that more derivatives of the spectrum arezero in the latter case. We shall examine this more when wepresent experimental proof of our techniques.

We are designing filters, such that represents the DC valueitself and the k-th derivative of the frequency spectra at thatpoint. This is a very desirable condition and was suggested as a fil-ter design criteria by Dutta Roy et al. [8], for designing maximallinear filters. Since it is impractical to use an ideal reconstructionfilter (in the sense), their idea was to design filters that comevery close to the ideal filter in parts of the frequency spectra andincludes some important frequencies. For general applications, wewould expect to have the most important frequencies around theDC value.

Another important observation is that Criteria 1 and Criteria 2 donot exercise any control on other parts of the spectrum. Such a lackof control can manifest in adverse properties such as aliasing, Wenoticed this when we designed BC-spline derivative filters usingthe first two conditions. Aliasing artifacts were present in the filter[20]. We rectify the problem by controlling the decay of the spec-trum, instead of forcing the amplitude spectrum to assume specificvalues at say .

The filter w, which we design, is compact and is (anti)-symmetric.In essence we get a compact linear phase filter over the interval

that can reconstruct the d-th derivative with accuracy N andassure a reconstructed function belonging to class CM. Further, letw and it’s first M derivatives be 2l-periodic and continuous on

for . The condition of 2l-periodicity only allows forthe evaluation of the Fourier series coefficients [23] and is notunreasonable. The Fourier series coefficient is determined as:

, where .

Now if we are doing integration-by-parts we will get

. (11)

Here we note, that we designed our filter w in such a way, that it isCM and of size 2l. That means, that for all M derivatives, we haveit’s endpoints to be zero. With other words we have

, for all .

That simply means, that the first term in Equation 11 is zero. If werepeat this integration-by-parts M times we will end up with thefollowing formula:

.

Furthermore, since our designed filter is compact and its first Mderivatives exist, we can conclude, that is bounded by a

τ

n

dd cd

k0( )

τ

n

dd cd

k 1–1( )– c– 2 l 1–

k0( )An c2 l 1–

k 1–1( )Bn+=

w l– k 1–+n( )

1( ) w l– k+n( )

0( )=

w l–n( )

0( ) wl 1–n( )

1( ) 0= =

akw

frw

t( ) f k[ ] wtT--- k–( )⋅

k ∞–=

∑=

t τT i+=i 0=

f k[ ] f k[ ] ej τ k–( )ω

=

H ω( ) ej τ k–( )ω

w τ k–( )⋅k ∞–=

∑=

1–

w τ k–( )H ω( )

Hn( ) ω( ) j τ k–( )( )n

ej τ k–( )ω

w τ k–( )⋅k ∞–=

∑=

ω

Hn( )

0( ) jn τ k–( )n

w τ k–( )⋅k ∞–=

∑ jnan τ( )= =

Hn( )

0( ) 0= n d< Hd( )

0( ) 1=

Hn( )

0( ) 0= d n N d+< <

N1 N2<

a0w

akw

C∞

ω π=

l– l,[ ]

l– l,[ ] M 0>

ck12l----- w x( )e

jωx–xd

l–

l

∫= ω 2π k2l-----=

2lck w x( )ejωx–

jω–------------

l–

l1

jω------ w′ x( )e

jωx–xd

l–

l

∫+=

wn( )

l±( ) 0= n M≤

2lck1

jω( )M--------------- w

M( )x( )e

jωx–xd

l–

l

∫=

wM( )

x( )

Page 9: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

constant A. Hence we can find the following bound for the Fouriercoefficient ck:

This really means, that Criteria 3 of our filter design assures, thatthe Fourier spectrum of our designed filter w decays as fast as

.

In order to validate our observations we examine the behavior ofthe smooth filters in frequency domain. We especially examine thebehavior of the derivative filters. Towards this end we employ met-rics to compute the smoothing, post-aliasing and overshoot errors.The metrics are computed by noting the difference between thespectrum of the filter in question and the ideal derivative filter.

These metrics are:

Postaliasing: We define the postaliasing metric P(w) as:

,

where we basically compute the area of the filter (in frequencydomain) beyond the primary spectrum.

Smoothing: We define the smoothing metrics S(w) to be:

where we compute the difference of the Ideal filter to ourdesigned filter . We plot these metrics for the smooth filtersalong a two axis plot. Along one axis we vary the accuracy, whilealong the other we vary the smoothness.

Postaliasing decreases with increase in continuity, though notmonotonically. The variation of postaliasing with error factor fol-lows a similar trend, as is shown in Fig. 2 . The amount of post-aliasing as measured by our metric indicated that for an error factorof 2, the filter with a continuity of 2 would be the best, followed bythose with continuities of 3, 1 and 0, respectively.

Comparatively, the family of smooth filters performs far better onthis metric. In fact, the least value of postaliasing for the cubic fil-ters (BC-spline) is an order higher than the value of postaliasingfor nearly half the members of the family of smooth filters. Thisvalidates the basic design of our filters. Criteria 3 was introducedfor the reason that the post-aliasing errors of the BC-Spline filterswas very high.

The smoothing error increases with continuity and with error fac-tor. There is a sharp increase in going from a continuity of 0 to 1and an error factor of 2 to 3. Beyond these the graph flattens asshown in Fig. 3. As a family, smooth filters perform better assmoothness ranges between 1.0 to 1.6 while it ranges between 1.4and 2.0 for the cubic filters.

Having explained the general design process, we turn to demon-strate it by ways of an example.

5. EXAMPLE

Let us assume we want to construct a derivative filter. We expectthis derivative filter to be somewhat reliable in terms of accuracy,so we choose a 2EF filter. Further, we aim for a C1 continuous fil-ter. That leads to three conditions to fulfill:

ckA

2l jω M------------------ e

jωx–xd

l–

l

∫A

ω M-----------≤ ≤

ω M–

P w( ) H ω( )2 ωd

π

∫=

Smoothing

π

Postaliasing

ω

H(ω)

S w( ) 1π--- I ω( )

2H ω( )

2–( ) ωd

0

π

∫=

I ω( )H ω( )

FIGURE 2. Comparison of post-aliasing metrics com-puted for family of our smooth filters and BC-splinefilters. The aliasing is considerably reduced forsmooth filters.

Page 10: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

1. derivative filter:

(12)

2. numerical accuracy 2EF:

(13)

3. smoothness C1:

(14)

In this specific case we have d=1 and N=2. Hence the number ofequations resulting from our accuracy criteria in Equation 13 andEquation 14 are 3. Therefore we need to have 4 filter weights (inorder to get an anti-symmetric derivative filter). This leads to a 4x4Vandermonde matrix V:

.

It’s inverse (of the transpose) can be computed as

.

Hence we can follow, that our filter weights must take the follow-ing form:

. (15)

Theorem 1 and Theorem 2 show, that any filter fulfillingEquation 15 for a symmetric a(τ) is a 2EF 1st derivative filter. Wefurther desire a filter that is C1 continuous. According to Theorem3 this condition can be fulfilled by requiring:

(16)

For the purpose of this paper we restrict ourself to polynomials.Therefore we are searching for a polynomial a(τ), that is symmet-ric and fulfills the conditions above. Assuming it is of degree k,then we would have k+1 coefficients, that we need to determine.Requiring symmetry or anti-symmetry introduces k/2 independentconditions on the coefficients. This can easily be seen, becauseevery second coefficient will have to be zero. For the polynomiala(τ) we require (anti)-symmetry not around the zero point, butaround 0.5. This can be seen by a variable transform ,for which we get:

Therefore if we require symmetry, all uneven coefficients (all coef-ficients in front of ) must be zero. And requiring anti-sym-metry, all even coefficients must be zero. Since we have two otherconditions for a to fulfill in our specific case, a should have degree2. Hence A can be written as:

.

When we are plugging in the conditions from Equation 16, we willget:

.

Requiring anti-symmetry of a, , will lead to:

,

from which we conclude, that A is zero as well. Plugging this resultfor a into our Equation 15 will lead to the following filter weights:

FIGURE 3. Smoothing for our family of smooth filters.

a0 τ( ) 0=

a1 τ( ) 1=

a2 τ( ) 0=

w C1∈

V

1 2 τ–( ) 2 τ–( )22 τ–( )3

1 1 τ–( ) 1 τ–( )21 τ–( )3

1 τ– τ–( )2 τ–( )3

1 1– τ–( ) 1– τ–( )21– τ–( )3

=

V1–

16--- t

3t–( ) 1

6--- 3t

21–( ) 1

6--- 3t( ) 1

6---

12---– t

3t2

– 2t–( ) 12---– 3t

22t– 2–( ) 1

2---– 3t 1–( ) 1

2---–

12--- t

32t

2– t– 2+( ) 1

2--- 3t

24t– 1–( ) 1

2--- 3t 2–( ) 1

2---

16---– t

33t

2– 2t+( ) 1

6---– 3t

26t– 2+( ) 1

6---– 3t 3–( ) 1

6---–

=

w 2–16--- 3t

21–( ) 1

6---a τ( )+=

w 1–12---– 3t

22t– 2–( ) 1

2---a τ( )–=

w012--- 3t

24t– 1–( ) 1

2---a τ( )+=

w116---– 3t

26t– 2+( ) 1

6---a τ( )–=

a 0( ) 6– c10

0( ) 1= =

τdd a 0( ) 6–

τdd c1

00( ) 0= =

τ t 0.5+=

a0.5 t( ) a 0.5 t+( ) a τ( ) a 1 τ–( )± a 0.5 t–( ) a0.5 t–( )= = = = =

t2k 1+

a τ( ) Aτ2Bτ C+ +=

a 0( ) C 1= =

τdd a 0( ) B 0= =

a τ( ) a 1 τ–( )=

Aτ21+ A 1 τ–( )2

1+=

w 2–12---τ2

=

w 1–32---– τ

2τ 1

2---+ +=

w032---τ

22τ–=

w112---– τ

2τ+

12---–=

Page 11: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

This consummates the design of a new C1 2EF first derivative fil-ter. In the Appendix we list all the interpolation and first derivativefilters that we constructed using different accuracy and smoothnesscriteria. Because of space constraint we have only given the poly-nomial coefficients in a matrix M. The filter weights are computedby:

for a cubic filter with 6 weights. The size of M is adapted by thesize of the filter and the degree of the polynomial. All filters arelaid out in a table where the rows represent the smoothness criteriaand the columns represent the accuracy criteria. We have looked at1EF through 4EF filters and C0 through C3 smoothness criteria.We also included filters that were constructed without Condition 3- smoothness. That simply leads to discontinuous filters. Those fil-ters might be of interest for applications that care about accuracyonly, for example in cases where the resulting function is used formeasurement, rather than visual inspection. The advantage of thesefilters is that they are sometimes faster while having only little(numerical) error. We have argued in [20] that these filters mighteven lead to reasonable images under certain conditions and there-fore represent an efficient alternative that should not be discarded.

The most general usable filters are probably C0, C1 and 2EF, 3EFfilters. For the interpolation filters we find that the most efficientC1-3EF filter is the well known Catmull-Rom spline, also found byothers to be the most accurate BC-spline. It is also noteworthy thatthis filter is not the best filter in the class of cubic BC-splines interms of smoothness. We also found that the BC-filter for whichB=1 and C=0 is a C2-2EF filter. Therefore this filter might be pref-erable over the Catmull-Rom spline for some applications. In orderto improve on the Catmull-Rom filter in terms of accuracy onerequires 6 filter weights. In order to improve smoothness of thereconstructed function while maintaining the same accuracy, onehas to choose at least a fourth degree polynomial. The best filterwith just 2 filter weights would be either a 2EF or a C3 continuousfilter.

For derivative filters, the filter C1-2EF is probably a good firstderivative filter. It is one of the best possible that only requires 4filter weights and is still only a quadratic filter. In order to improveon it, we would either have to go to 6 filter weights or to a fourthdegree polynomial. It is also interesting to note, that this filter isthe analytic derivative of the C2-2EF interpolation filter, whichwas a BC-spline with B=1 and C=0.

6. EXPERIMENTS

6.1 Volume RenderingThe images were rendered employing a simple ray-caster to findthe iso-surfaces. The volumes were sampled at an interval of 0.05voxel lengths. At each sampling point, the ray-caster first applied

an interpolation kernel (we used the Catmull-Rom cubic spline) toreconstruct the function at that point. If the reconstructed valuewas above a pre-set iso-value, the derivative filter was used tocompute the 3D gradient. Shading was then performed using thetraditional Phong lighting model [9] with diffuse and specularreflections. The obtained color and opacity were composited withthe previous ray values, and the ray was terminated after the opac-ity reached a value close to 1.0. Since both the interpolation andthe derivative kernel were separable, for all our filters, the filteringoperations could be efficiently performed using a scheme similarto the one given in [1] and [21].

For our experiments we used an analytic data set and an MRI dataset. The analytic data set is derived from the same function as theone used by Marschner and Lobb [18]. Since, due to spatial con-straints, it is not possible to include the entire set of images thatcan be obtained using all given filters, summarized in Table 1 andTable 2, we have chosen the discontinuous and C0 1EF filters aswell as the discontinuous and C0 3EF filters. In order to bettervisualize the influence of the filters we computed the angular errorimages. For each reconstructed normal we computed the actualnormal and recorded their angular difference. The grey value of255 was displayed for an angular error of 15 degrees. The discon-tinuous 1EF filter is simply the well known central difference fil-ter, and the discontinuous 3EF filter is the filter that we have foundto be a filter yielding better accuracy in our previous work [20].Here it is clearly visible, that filter design solely based on accuracycriteria will not lead to acceptable images. Adding a simplesmoothness constraint, which is reflected in the C0 filters, resultsin very accurate images that are free of visible artifacts. It alsobecomes very clear, especially in the error images of Fig. 4, thatthe 3EF filter will lead superior images in terms of numerical accu-racy.

w 3– τ( )

w 2– τ( )

w 1– τ( )

w0 τ( )

w1 τ( )

w2 τ( )

M

τ3

τ2

τ1

=

(a) (b)

(c) (d)FIGURE 4. Error images of the Marschner Lobb data set ren-

dered using the following derivative filter (a) discontinuous1EF (b) discontinuous 3EF (c) C0-1EF (d) C0-3EF; darkercolors mean lesser error

Page 12: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

The same behavior as for the analytic data set can also be observedfor the MRI data set in Fig. 12 and Fig. 13. Fig. 13 is a close upview of an MRI of a human brain. Here, we also fixed the interpo-lation filter to the Catmull-Rom filter and varied the derivative fil-ter in the same way as we did for the Marschner Lobb images.Fig. 12 is a close-up of a data set of an orange.

6.2 Size Preserving Pattern MatchingThis section describes a texture mapping application whichrequires a C2 interpolation filter. Texture maps [10] are essentialfor enhancing the appearance of a model. They increase the detailof rendered models without increasing their geometric complexity.We often wish to paint a model with some generic texture. Forexample, in medical models, we wish to add generic skin texture toskin surfaces, and vein like formations inside walls of body cavi-ties. We call these generic textures patterns. We wish to makethese patterns continuous across the entire surface. We also wish tomap patterns on a surface at a constant density the way they appearin nature. We project a two-dimensional image on the iso-surfaceof a volume and use a measure of the surface curvature in order topreserve the size of the mapped images on the surface.

We start off with the two-part mapping method [2]: we project pat-tern images from the walls of a bounding box onto the volume iso-surface along the surface normals. Fig. 5 shows two areas on a sur-face. The area marked A has zero curvature and so we map a wallsegment of size P0 on a segment surface of equal size C0. The areamarked B has high curvature, therefore we map a wall segment ofsize P1 on a much smaller surface segment size C1. If we paint thewalls with a pattern of constant density then the projection on areaB will be a lot denser than the projection on area A.

Instead of maintaining a constant image on the bounding box, wecontinuously modify the density of the image in order to match thesurface curvature. If we want to paint the surface with pattern den-sity D, we can express Dwall, the density on the wall that wouldgenerate a density D on the surface (Ci, Pi for i=0,1 as in Fig. 5),as:

(17)

Dwall can be any real number, so we have to develop a way to mapimages at any density on a given wall. Since Dwall is not necessar-ily an integer, the obvious mapping of Dwall instances side by sidealong the wall doesn’t work - It generates discontinuities on theedges and corners of the box. Our solution is to use the idea ofhomotopy in order to generate a bounding box image with the cor-rect density. We vary the images on the bounding box in a continu-ous manner, thus making the final mapping continuous and size-preserving.

The following subsections describe the two ingredients of the con-struction: Section 6.2.1 describes a method for mapping an imageat any desired density on a bounding box wall. Section 6.2.2 showshow to calculate the desired mapping density on the bounding boxwall. This calculation requires a C2 interpolation filter. For fartheranalysis of this method see [15].

6.2.1 HomotopyWe use homotopy [12] in order to generate a continuous range ofpattern images at any given pattern density. A path is a functionfrom [0,1] to some space W. Two paths p0(s), p1(s) are homotopicif there exists a continuous function:

(18)

where W is some space, and we have

for all t

In our discussion, W is one axis of the 2D pattern image, and two end points of W. Without loss of generality, we

assume that all our paths are along the X axis of a pattern image. Apath is a traversal of the X axis of the image for a constant Y value.We map paths onto an axis of the bounding box wall. We expresspaths in image space by describing their behavior along an axis,using the parametrization [0,1]x[0,1] for the image. For example,the path (0, 0.75, 0) travels from the left edge of the pattern image(0), three quarters of the way to the right edge (0.75), and back tothe left edge (0), all for a constant Y value. Fig. 6 shows threeexamples of mapping paths on bounding box walls. The function his a homotopy function. It produces a continuous transitionsbetween two paths.

In the following we use two specific homotopies. Fig. 7 showsthese two homotopies. Parts (b) and (d) show the mapping of thedomain [0,1]x[0,1] (see Equation 18) into the X axis of a patternimage. The top and bottom edges depict the two original paths.The arrows represent full paths along the X axis. An arrow point-ing right is the path (0,1), and an arrow pointing left is the path(1,0). The tip of the arrow is the right edge of the pattern image andthe back of the arrow is the left edge of the pattern image.

Part (a) and (b) show how to continuously deform the path (0,1,0)into a stationary path at 0. We achieve this continuous transition bygradually taking paths from 0 to some t and back to 0, for values oft changing between 0 and 1. When t = 0, we are at the bottom ofthe homotopy. When t = 1, we are at the top. Part (a) shows this

Dwall DCi

Pi-----=

P1

P0

FIGURE 5. Modified environment mapping: color each sur-face point by the color where the normal hits the bound-ing box. The arrows marked P0, P1 show how the densityof the mapping changes when the surface curvature does.

F = wall axis sizeC1C0

B

A

h: 0 1[ , ] 0 1[ , ]× W→

h s 0,( ) p0 s( )=

h s 1,( ) p1 s( )=

h 1 t,( ) x1=

h 0 t,( ) x0=

x0 x1, 0 1,[ ]∈

Page 13: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

transition. Part (b) depicts the same homotopy on its domain[0,1]x[0,1]. It shows a continuous transition between the paths onthe top and bottom of the [0,1]x[0,1] square. We call this homo-topy 0:2. Fig. 6c shows a typical intermediate path (for t = 0.6)between (0,1,0) and (0).

Similarly, Fig. 7c, Fig. 7d show a homotopy between the path (0,1)and the path (0,1,0,1). We achieve this continuous transition bytaking paths from 0 to 1, then back to some s, and back to 1. For

, we have the bottom portion of the homotopy. For ,we have its top. We call this homotopy 1:3. In order to use similarnotation for both cases, we use t = (1-s). Now in both cases t=0represents the bottom and t=1 the top. Fig. 6d shows a mapping ofa typical intermediate path (for t = 0.6) between (0,1,0,1) and (0,1)on a wall.

Since we map each path on a straight wall (Fig. 6) we can countthe number of instances of a pattern image mapped on a wall for agiven t value. We preserve a constant mapping density across thewall: For the 0:2 homotopy, at a given t we have 2t instances of thefull trip from left to right, at constant density. For the 1:3 homo-topy we have liberty to choose the density of the transition of s1and s2 (Fig. 7d). We pick them to be the same as the density of s0.Therefore, for a given t, we have

(19)

instances.

We now explain how these two homotopies help us pick differentimages for the walls of the environment mapping bounding box.When evaluating the pattern mapping of each point, we first com-pute the ratio between the size of a step on the surface to a corre-sponding step on the bounding box wall (In Figure Fig. 5 this ratiois P1/C1 or P0/C0). We calculate this ratio for the two major axes ofthe wall independently. From this ratio R, and the desired mappingdensity D, we calculate Dwall (Equation 17). Given the size of thebounding box axis F (see Fig. 5) we calculate S: how manyinstances of the pattern we should fit onto the bounding box wallaxis in order to achieve the desired density D on the surface:

It is easy to match an integer number of instances of a patternimage on the bounding box wall. We match 0, 2, 6, 18,..., 2 * 3n,...instances directly. For non-integer S values, we use the homotopiesabove in order to obtain a transition between two neighboring inte-ger values. We use the 0:2 homotopy for values between 0 and 2,and the 1:3 homotopy for all other values. Fig. 8a shows how weuse the two homotopies for generating any number of instances ofa pattern image axis along a bounding box wall. For example,matching 8.5 instances of the pattern map on a bounding box wallX axis falls into the homotopy between 6 and 18 instances. InFig. 8a this falls in level 2 so we’ll be using a 1:3 homotopy. If thewall X axis spans from (-100) to 100, and our normal hit the wallat 50, then we lookup the value in level 2, at 0.75 away from theleft end. Level 2 contains six (1:3) homotopies. Our point falls intothe fifth one (0.75 * 6 = 4.5), at u = 0.5 on the homotopy horizontalaxis. We now convert the overall number of instances 8.5 to thenumber of instances for this homotopy S = (8.5 / 6) = 1.41. Each ofthe six homotopies in level 2 generates 1.41 instances; total = 8.5instances. Using Equation 19 we get t = 0.44. We pick the finalindex into the pattern image X axis to be the value at (u, t) = (0.5,0.44) in Fig. 7d. We calculate the Y index similarly and use thetwo indices to calculate the point color.

Fig. 8b shows the behavior of this homotopy mapping in correctscale. The vertical axis holds the overall number of instances(range 0 to 18). The horizontal axis represents one axis of the pat-tern image. We encode the final result of the homotopy by greylevels. White represents 1 and black represents 0. We observe thatlinearly modifying the value of t does not linearly modify the

(a) (b)

(c)

FIGURE 6. (a) A pattern image. (b) Mapping the path (0, 1,0) on a box wall. (c) Mapping the path (0, 0.6, 0) on abox wall. (d) Mapping the path (0, 1, 0.6, 1) on a boxwall.

(d)

s 1= s 0=

33 2t–-------------- S=

s2s1s0

s3

s0 s1

FIGURE 7. (a)(b) 0:2 Homotopy between the path (0,1,0),and the stationary path at point 0. (c)(d) 1:3 Homotopybetween the path (0,1) to the path (0,1,0,1).

(a) (b)

t =

t

0 1 0

0 1Image Axis

t

0 1Image Axis

t

(c) (d)

0 1 0 1

AllZero

0 (degenerate path)

[0,t] [t,0]

[1,s] [s,1][0,1]

(1-s)

S FDWall FDCi

Pi---------- FD

R----= = =

Page 14: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

resulting number of instances. From Equation 19 we get the non-linearity and compute t as a function of S.

We observe the following points in Fig. 8:

• When S=0 (at the bottom edge of the graph in Fig. 8b), weuse only the zero point of the axis. This means that if a pointrequires zero instances of the image along some axis, we willuse the pattern zero to paint this point.

• At the edges of the wall axis (the left and right edges of thegraph), we have a constant (zero) parameter value. This isimportant for continuity between neighboring walls and cor-ners of the bounding box. All normals hitting an edge con-necting two bounding box walls always use zero for the axisperpendicular to the edge.

• In the graph we use mirrored and un-mirrored instances of theimage interchangeably. We can see the changing when travel-ing across the graph for a fixed S value. Starting from the left,we begin with 0 (black), increase to 1 (white), and decreaseback to zero repeating a few times. On the X axis of the pat-tern image, this sequence corresponds to scanning the imagefrom left to right and the back to the left many times.

What remains to show is how to compute the ratio R for each oneof the pattern image axes.

6.2.2 Calculating the Mapping DensityFor every point P(u,v,w) = (Px, Py, Pz) on the volume iso-surfacewe reconstruct a C1 smooth normal N(u,v,w) = (Nx, Ny, Nz). With-out loss of generality, assume that this normal hits the top wall ofthe bounding box and therefore we pick the surface point colorfrom the image on this wall. Assume this wall has plane equation

. We express the point where a normal hits this planeas:

At each point (u0, v0, w0) we now look for two directions Dx, Dy inthe (u,v,w) parameter space. For each direction we express

We pick Dx and Dy such that for Dx, the derivative

and for Dy, the derivative

We now compute the hit ratios along u and v as:

Still remains to show how we pick the directions Dx, Dy. Since wehave no parametrization of the surface, we use two arbitrary direc-tions A0 = (uA0, vA0, wA0), A1 = (uA1, vA1, wA1) in the normalplane. We take:

We calculate the wall hit ratio of the two arbitrary directions (seeFig. 9):

FIGURE 8. (a) Illustrate the behavior of the two homotopieson one axis of the pattern image. In Level 0, we use thehomotopy from Fig. 7a, and in all other levels, we usethe homotopy from Fig. 7c. Note that we only demon-strate this behavior for S in [0,18]. The same behaviorcontinues for higher S values. (b) Show the non-linearmapping. The horizontal axis is an axis of the boundingbox wall. The vertical axis varies the number ofinstances we fit on the bounding box wall. The shadesshow the choice of pattern map coordinates.

Level 0 (0:2)

Level 1 (1:3)

Level 2 (1:3)

Wall Axis

[0,18]

0 1

Instances

18 instances

6 instances

2 instances

0 instances

(a)

(b)

z maxZ=

(0,1,0)

(1,0,0)

HA0

A0A1

HA1

Implicit surface in the volume.

Box plane Z = MaxZ

Dy Dx

FIGURE 9. Construction of the directions Dx, Dy in volumes.

Hit u v w, ,( ) P u v w, ,( )maxZ Pz–

Nz--------------------------

N u v w, ,( )⋅+=

ux

vx

wx

u0

v0

w0

tDx+=

uy

vy

wy

u0

v0

w0

sDy+=

Hitt ux vx wx, ,( ) Hx 0 0, ,( )=

Hits uy vy wy, ,( ) 0 Hy 0, ,( )=

Rx

Hx

Dx-----------= Ry

Hy

Dy-----------=

uA0

vA0

wA0

u0

v0

w0

tA0+=

uA1

vA1

wA1

u0

v0

w0

sA1+=

Page 15: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

(20)

We continue by expressing the vectors (1, 0, 0) and (0, 1, 0) as lin-ear combinations of HA0 and HA1:

The desired directions Dx, Dy are given as:

Fig. 9 illustrates the process of computing the directions Dx andDy. Note that since the mapping density depends on a measure ofthe surface normal, we must have a C1 continuous normal (and so,a C2 continuous interpolation filter) in order to map C0 continuouspatterns on the surface. Fig. 14 shows four test cases for applyingpatterns on a volume iso-surface with different filters. A C0 filtergenerates large discontinuities and very sharp changes in patterndensity. A C1 filter generates more subtle discontinuities and fairlyconstant mapping densities. A C2 filter generates continuous map-ping, and a C3 filter does not improve the mapping. Fig. 10 showsthe application of pattern maps on other volume data.

7. FURTHER RESEARCH

Since, in this paper, we restricted ourselves to piecewise polyno-mial filters, we would like to explore different basis functions.Especially using trigonometric basis functions like sine and cosine,we would like to explore possible similarities to windowed Sincand Cosc filters. We hope that this might improve the efficiency ofthe filters, maintaining the same smoothness and accuracy whileusing fewer filter weights.

Our accuracy criteria, as outlined here, have also been used tospecify and design filters in other domains, especially in wavelet-based multiresolution analyses, by Daubechies and others [6]. We

hope to explore the effect of our smoothness criteria also for defin-ing new basis functions in the wavelet domain and to study itseffects on the wavelet transform.

In applications of computer graphics, especially scientific visual-ization, the final image is not just influenced by the interpolationand derivative method, but sometimes also by a shading equationand compositing operations. Therefore, it is necessary to analyzethe overall error expressed in the L2 error norm. We are workingon developing better tools to study this error. Once we are able tocharacterize the complete rendering pipeline, we might be able toadapt the reconstruction filters in a way to compensate for theoverall error and to produce better images.

8. CONCLUSIONS

In this work, we have introduced design criteria for the design ofoptimal and smooth reconstruction filters. It was demonstrated,contrary to previous beliefs, that it is not sufficient to base filterdesigns just on accuracy criteria. Rather, our design criteria are notonly the accuracy of the reconstructed function, but also its charac-terization as a function in the space CM of all M-times continuousderivable functions. We further demonstrated, by ways of anexample, a C1 2EF filter, how such a filter can be constructed. Wethen provided a table, listing all optimal interpolation and deriva-tive filters that match smoothness and accuracy criteria of up to C3

continuous and 4EF, respectively. These tables may serve as aguide on what filters should be used for a certain application. Thefilters listed in these tables go much beyond the very popular classof piecewise polynomial filters, described in the past by Mitchelland Netravali’s BC-splines [19]. Furthermore, this paper gives thepractitioner an easy way to design specific filters to match theirspecific application, by determining a very application oriented setof criteria - smoothness and accuracy.

9. ACKNOWLEDGMENTS

We thank Prof. Ed Overman of the Department of Mathematics atOhio State University for providing useful background informa-tion and important references. We thank Prof. Wayne Carlson andthe Advanced Computing Center for the Arts and Design for theuse of their computing facilities and Prof. Robert Moorehead andTenginakai Shivaraj of the NSF Engineering Research Center,Mississippi State University for providing encouragement and sup-port. Raghu Machiraju was partially supported for this work by aNSF Faculty Early CAREER Award (#9734483).

10. REFERENCES

[1] Bentum M.J., Lichtenbelt B.B.A., Malzbender T., “FrequencyAnalysis of Gradient Estimators in Volume Rendering”, IEEETransactions on Visualization and Computer Graphics,2(3):242-254, September 1996.

[2] Bier E.A., Sloan K.S., “Two-Part Texture Mapping”, IEEEComputer Graphics and Applications, 6(5):40-53, September1986.

[3] Bracewell R.N., Two Dimensional Imaging, Prentice Hall Inc.,Englewoods Cliffs, NJ, 1995.

[4] Bronstein E.N., Semendjajew K.A., “Taschenbuch derMathematik,” 22nd ed., G. Grosche, V. Ziegler, B. Ziegler:editors, BSB B.G. Teubner Verlagsgesellschaft, Leipzig, 1985.

[5] Carlbom I., “Optimal Filter Design for Volume

HA0 Hitt uA0 vA0 wA0, ,( )=

HA1 Hits uA1 vA1 wA1, ,( )=

1 0 0, ,( ) αxHA0 βxHA1+=

0 1 0, ,( ) αyHA0 βyHA1+=

Dx αxA0 βxA1+=

Dy αyA0 βyA1+=

FIGURE 10. Sample pattern mapping on volumetric data sets.

Page 16: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

Reconstruction and Visualization”, Proceedings of IEEEConference on Visualization ‘93, pp. 54-61, October 1993.

[6] Daubechies I., Ten Lectures on Wavelets, CBMS-NSFRegional Conference Series in Applied Mathematics, SIAM,Philadelphia, PA, 1992.

[7] Drebin R.A., L. Carpenter L., Hanrahan P., “VolumeRendering”, Computer Graphics, 22(4):51-58, August 1988.

[8] Dutta Roy S.C., Kumar B., “Digital Differentiators”, inHandbook of Statistics, N. K. Bise and C. R. Rao eds., vol. 10:159-205, 1993.

[9] Foley J.D., van Dam A., Feiner S.K., Hughes J.F., ComputerGraphics, Principles and Practice, Second Edition, Addison-Wesley, Reading, Massachusetts, 1990.

[10] Foley D.J., van Dam A., Feiner S.K., Hughes J.F., PhillipsR.L., Introduction to Computer Graphics, Addison-WesleyPublishing Company, 1994.

[11] Goss M.E., “An Adjustable Gradient Filter for VolumeVisualization Image Enhancement”, Proceedings of GraphicsInterface’94, pp. 67-74, Toronto, Ontario, 1994.

[12] Greenberg, M.J., Harper, J.R., Algebraic Topology, AddisonWesley Publishing Company, 1981.

[13] Hamming R.W., Digital Filters, Prentice Hall Inc., SecondEdition, Englewoods Cliffs, NJ, 1983.

[14] Keys R.G., “Cubic Convolution Interpolation for DigitalImage Processing”, IEEE Transactions on Acoustics, Speech,and Signal Processing, ASSP-29(6):1153-1160, December1981.

[15] Kurzion Y., Möller T., Yagel R., “Size Preserving PatternMapping”, Proceedings of IEEE Conference on Visualization‘98, Research Triangle Park, NC, pp. 367-373, October 1998.

[16] Levoy M., “Display of Surfaces from Volume Data”, IEEEComputer Graphics and Applications, 8(5):29-37, May 1988.

[17] Machiraju R.K., Yagel R., “Reconstruction ErrorCharacterization and Control: A Sampling Theory Approach”,IEEE Transactions on Visualization and Computer Graphics,TVCG 2(4):364-376, December 1996.

[18] Marschner S.R. and Lobb R.J., “An Evaluation ofReconstruction Filters for Volume Rendering”, Proceedings ofVisualization ‘94, IEEE CS Press, pp. 100-107, October 1994.

[19] Mitchell D.P., Netravali A.N., “Reconstruction Filters inComputer Graphics”, Computer Graphics, 22(4):221-228,August 1988.

[20] Möller T., Machiraju R.K., Mueller K., Yagel R., “Evaluationand Design of Filters Using a Taylor Series Expansion”, IEEETransactions on Visualization and Computer Graphics,ITVCG 3(2): 184-199, June 1997.

[21] Möller T., Machiraju R.K., Mueller K., Yagel R., “AComparison Of Normal Estimation Schemes”, Proceedings ofIEEE Conference on Visualization ‘97, pp. 19-26, October1997.

[22] Möller T., Mueller K., Kurzion Y., Machiraju R., Yagel R.,"Design of Accurate and Smooth Filters for Function andDerivative Reconstruction", Proceedings of the 1998Symposium on Volume Visualization, pp:143-151, October1998

[23] Oppenheim A.V., Schafer R.W., Discrete-Time SignalProcessing, Prentice Hall Inc., Englewoods Cliffs, NJ, 1989.

[24] Park S.K., Schowengerdt R.A., “Image Reconstruction byParametric Cubic Convolution”, Computer Vision, Graphics,and Image Processing, vol. 23:258-272, 1983

[25] Warsi Z.U.A, Fluid Dynamics: Theoretical andComputational Approaches, CRC Press, Boca Raton, FL,1992.

Page 17: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

17

11. APPENDIX

11.1 Interpolation filters

TABLE 1. the new actual filters for interpolation filters

1EF 2EF 3EF 4EF

C-

C0

C1

C2

C3

w 1–

w0

12---

12---

=

1 0

1– 1

14--- 2a

14---– a–

14---– 6a

54---–

– 3a

14---– 6a

34---– 3a 1–( )–

14--- 2a

14---+

– a

16--- 0

16---– 0

12---– 1

2--- 1 0

12--- 1–

12---– 1

16---– 1

2---

13---– 0

1 0

1– 1

1 0

1– 114---

14---– 0

14---– 5

4--- 0

14---–

34---– 1

14---

14---– 0

16--- 0

16---– 0

12---– 1

2--- 1 0

12--- 1–

12---– 1

16---– 1

2---

13---– 0

2– 3 0 0

2 3– 0 1

14--- 0 0

14---– 1

2--- 1

4---

14---– 0 1

2---

14---

12---– 1

4---

12---

12---– 0 0

32---– 2 1

2--- 0

32---

52---– 0 1

12---– 1

12---– 0

a– 32---a

124------–

0 0

5a16---+

152

------a18---–

–112------– 1

2---a

124------–

10a12---+

– 15a5

12------+ 2

3--- 2a

16---–

10a12---+ 15a

1312------+

– 0 3a34---+

5a16---+

– 152------a

58---+

23---– 2a

16---–

a 32---a

124------+

– 112------ 1

2---a

124------–

6 15– 10 0 0 0

6– 15 10– 0 0 1

16--- 0 0 0

12---– 1

2--- 1

2--- 1

6---

12--- 1– 0 2

3---

16---– 1

2---

12---– 1

6---

1– 52---

32---– 0 0 0

3152------– 9

2--- 1

2--- 1

2--- 0

3– 152

------92---– 1– 0 1

152---– 3

2--- 1

2---

12---– 0

136------– 0 0 0

1136------

112------–

112------–

136------–

79---– 5

6--- 2

3--- 1

9---

79---

32---– 0 5

6---

1136------– 5

6---

23---– 1

9---

136------

112------– 1

12------

136------–

20– 70 84– 35 0 0 0 0

20 70– 84 35– 0 0 0 1

110------– 1

4--- 0 0 0 0

310------

34---– 0 1

2--- 1

2--- 3

20------

310------– 3

4--- 0 1– 0 7

10------

110------

14---– 0 1

2---

12---– 3

20------

3212

------– 252------ 5– 0 0 0 0

9– 632------

752------– 15 0 1

2--- 1

2--- 0

9632

------– 752------ 15– 0 1– 0 1

3– 212------

252------– 5 0 1

2---

12---– 0

130------

116------– 0 0 0 0

16---– 17

48------ 1

12------

124------–

112------–

7240---------–

13---

1924------–

16---– 2

3--- 2

3--- 7

60------

13---– 7

8--- 0

54---– 0 33

40------

16---

2348------– 1

6--- 2

3---

23---– 7

60------

130------– 5

48------

112------–

124------– 1

12------

7240---------–

Page 18: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

18

11.2 First Derivative filtersTABLE 2. the new actual derivative filters

1EF 2EF 3EF 4EF

C-

C0

C1

C2

C3

w 2–

w 1–

w0

w1

0

1

1–

0

=

12--- a

12---–

12--- 3a–

12---– 3a

12---

12---– a–

12--- 0

16---–

32---– 1 1

32--- 2–

12---–

12---– 1

13---–

112------ a a

16---+

– b

14---– 5a

14---–

– 5a34---+ 5b

112------+

16--- 10a

12---– 10a

13---+

– 10b23---+

16--- 10a– 10a

56---– 10b–

14---– 5a

12---+ 5a

12---–

– 5b23---–

112------ a

14---+

– a112------+ b

112------–

12--- 0

12---– 1

2---

12---– 0

12---

12---–

12--- 0

12---– 1

2---

12---– 0

12---

12---–

a a1

12------+

– 0

5a12---–

– 5a14---+

112------–

10a32---– 10a

56---–

– 23---

10a32---–

– 10a136

------– 0

5a12---– 5a

54---–

–23---–

a– a112------– 1

12------

112------ a a

16---+

– 0

14---– 5a

14---–

– 5a34---+

112------–

16--- 10a

12---– 10a

13---+

– 23---

16--- 10a– 10a

56---– 0

14---– 5a

12---+ 5a

12---–

–23---–

112------ a

14---+

– a1

12------+ 1

12------

12--- 0 0

32---– 1 1

2---

32--- 2– 0

12---– 1

12---–

12--- 0 0

32---– 1 1

2---

32--- 2– 0

12---– 1

12---–

112------– 0 0

1112------

16---–

112------–

73---– 5

3--- 2

3---

73--- 3– 0

1112------– 5

3---

23---–

112------

16---– 1

12------

112------

16---– 0 0

14---– 13

12------

112------–

112------–

16---

136

------– 43--- 2

3---

16--- 5

3---

52---– 0

14---–

13---– 4

3---

23---–

112------

112------–

112------– 1

12------

12---– 1 0 0 0

32--- 3– 0 1 1

2---

32---– 3 0 2– 0

12--- 1– 0 1

12---–

12---– 1 0 0 0

32--- 3– 0 1 1

2---

32---– 3 0 2– 0

12--- 1– 0 1

12---–

16---

14---– 0 0 0

56---– 17

12------ 1

4---

112------–

112------–

53---

196------–

12---– 4

3--- 2

3---

53---– 7

2--- 0

52---– 0

56---

2312------– 1

2--- 4

3---

23---–

16---– 5

12------

14---–

112------– 1

12------

16---

14---– 0 0 0

56---– 17

12------ 1

4---

112------–

112------–

53---

196

------–12---– 4

3--- 2

3---

53---– 7

2--- 0

52---– 0

56---

2312------– 1

2--- 4

3---

23---–

16---– 5

12------

14---–

112------– 1

12------

34---– 5

4--- 0 0 0 0

34--- 0

52---– 0 5

4--- 1

2---

34---

154------– 5 0

52---– 0

34---– 5

2---

52---– 0 5

4---

12---–

1 3– 52--- 0 0 0 0

3– 9152------– 0 0 1 1

2---

3 9– 152

------ 0 0 2– 0

1– 352---– 0 0 1

12---–

316------

1348------– 0 0 0 0

916------– 5

12------ 19

24------ 1

4---

748------–

112------–

38--- 25

24------

196------–

12---– 19

12------ 2

3---

38---

3512------– 19

4------ 0

238

------– 0

916------– 115

48---------

196------– 1

2--- 19

12------

23---–

316------

23---– 19

24------

14---–

748------– 1

12------

14---– 3

4---

712------– 0 0 0 0

54---

154

------– 3512------ 1

6--- 1

4---

112------–

112------–

52---– 15

2------

356------–

23---–

12---– 4

3--- 2

3---

52---

152

------– 356------ 1 0

52---– 0

54---– 15

4------

3512------–

23---– 1

2--- 4

3---

23---–

14---

34---– 7

12------ 1

6---

14---–

112------– 1

12------

Page 19: Spatial Domain Filter Design - Simon Fraser Universitytorsten/Publications/Papers/tvcg99_Design.pdf · vide rigorous proof for the existence of a filter using results from ... general

FIGURE 12. Orange data set rendered using the following derivative filter (a) dis-continuous 1EF (b) discontinuous 3EF (c) C0-1EF (d) C0-3EF (e) C3-4EF

(a) (b)

(c) (d)

(a) (b)

(c) (d)

FIGURE 13. MRI data set rendered using the following derivative filter (a) discon-tinuous 1EF (b) discontinuous 3EF (c) C0-1EF (d) C0-3EF

(a)

(b)

(c)

FIGURE 14. Size preserving pattern mappingof a texture on an MRI scan of a humanhead using (a) C0, 1EF. (b) C1, 2EF. (c) C2,2EF. (d) C3, 2EF derivative filter in order todetermine the pattern density.

(d)


Recommended