16
Practical Box Splines for Reconstruction on the Body Centered Cubic Lattice Alireza Entezari, Dimitri Van De Ville, Member, IEEE, and Torsten Mo ¨ller, Member, IEEE Abstract—We introduce a family of box splines for efficient, accurate, and smooth reconstruction of volumetric data sampled on the body-centered cubic (BCC) lattice, which is the favorable volumetric sampling pattern due to its optimal spectral sphere packing property. First, we construct a box spline based on the four principal directions of the BCC lattice that allows for a linear C 0 reconstruction. Then, the design is extended for higher degrees of continuity. We derive the explicit piecewise polynomial representations of the C 0 and C 2 box splines that are useful for practical reconstruction applications. We further demonstrate that approximation in the shift-invariant space—generated by BCC-lattice shifts of these box splines—is twice as efficient as using the tensor-product B-spline solutions on the Cartesian lattice (with comparable smoothness and approximation order and with the same sampling density). Practical evidence is provided demonstrating that the BCC lattice not only is generally a more accurate sampling pattern, but also allows for extremely efficient reconstructions that outperform tensor-product Cartesian reconstructions. Index Terms—BCC, box splines, discrete/continuous representations, optimal regular sampling. Ç 1 INTRODUCTION I N this paper, we focus on sampling and representation of volumetric data. Two important issues are dealt with: 1) the choice of the sampling pattern and 2) the signal model that links the discrete to the continuous domain and, thus, serves to effectively interpolate or approximate the underlying continuous phenomenon. We start by introdu- cing both aspects. 1.1 Optimal Regular Sampling The study of optimal regular sampling patterns is not new [11], [18], [24], [29]. For the class of signals that have an isotropic band-limited (or essentially low-pass) spectrum, the problem of optimal regular sampling can be answered using the solution to the optimal circle (2D) or sphere (3D) packing problem. This is due to the fact that the sparsest regular (lattice) distribution of samples in the spatial domain demands the tightest arrangement of the replicas of the spectrum in the frequency domain. Therefore, the optimal sampling lattice is simply the dual of the densest packing lattice. This sampling lattice constitutes the best generic lattice for sampling trivariate functions. Gauß proved that the densest packing in 2D is obtained by the hexagonal lattice [6]. For the 3D sphere packing problem, which is also known as the Kepler problem dating from the early 17th century, Gauß proved that the face- centered cubic (FCC) lattice attains the highest possible density [6]. Further, the Kepler conjecture—that FCC packing is an optimal packing of spheres even when the lattice condition is not imposed—was not proven until 1998 by a lengthy computer-aided proof [15]. For the class of isotropic band-limited signals, the hexagonal lattice can contain 14 percent more information than the Cartesian lattice without introduction of any aliasing [24]. The analogous 3D FCC replication of the spectrum allows about 30 percent more information to be captured without any aliasing in the spectrum of the function. Having the spectrum replicated on the FCC lattice in the frequency domain corresponds to sampling on the body-centered cubic (BCC) lattice in the spatial domain. Despite their theoretical advantages, optimal sampling strategies have only had a limited impact on practical applications. On one hand, there are no 3D scanning devices yet that produce data directly sampled on the BCC lattice; on the other hand, if the scanning machines adopt the optimal sampling pattern, main signal processing tools such as reconstruction to process and analyze the data are needed. 1.2 Reconstruction Kernels Reconstruction from sampled data refers to the procedure of interpolating or approximating the underlying contin- uous-domain signal. Traditionally, the design of reconstruc- tion filters is a rich area in signal processing. This approach is discrete to discrete and thus provides estimates of the signals on another regular sampling lattice. Typically, constraints in the frequency domain are used to guide the filter design process (for example, [3], [12], [28]). On the other hand, the approximation theory has shown how to design reconstruction kernels, which are defined in the continuous domain and allow the estimation of the signal at any point in space (for example, [16], [25], [27]). These well-known solutions are 1D, and for image processing and volume rendering, they are extended to multiple dimensions through a separable extension (often called the tensor-product approach) or through a spherical extension (for example, McClellan transformation [22]). The problem of these extensions is that they do not deal well with the multidimensional nature of the sampling lattice, in particular, for non-Cartesian lattices [19]. The separable extension clearly is only satisfactory for Cartesian lattices, IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313 . A. Entezari and T. Mo¨ller are with the School of Computing Science, Simon Fraser University, 8888 University Drive, Burnaby, BC, V5A 1S6. E-mail: {aentezar, torsten}@cs.sfu.ca. . D. Van De Ville is with the Biomedical Imaging Group, EPFL/STI/LIB, Bat. BM 4.140, Swiss Federal Institute of Technology Lausanne, Station 17, CH- 1015 Lausanne, Switzerland. E-mail: [email protected]. Manuscript received 22 Nov. 2006; revised 1 June 2007; accepted 12 June 2007; published online 19 July 2007. Recommended for acceptance by K. Joy. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number TVCG-0210-1106. Digital Object Identifier no. 10.1109/TVCG.2007.70429. 1077-2626/08/$25.00 ß 2008 IEEE Published by the IEEE Computer Society

IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

Practical Box Splines for Reconstruction on theBody Centered Cubic Lattice

Alireza Entezari, Dimitri Van De Ville, Member, IEEE, and Torsten Moller, Member, IEEE

Abstract—We introduce a family of box splines for efficient, accurate, and smooth reconstruction of volumetric data sampled on thebody-centered cubic (BCC) lattice, which is the favorable volumetric sampling pattern due to its optimal spectral sphere packing property.First, we construct a box spline based on the four principal directions of the BCC lattice that allows for a linear C0 reconstruction. Then,the design is extended for higher degrees of continuity. We derive the explicit piecewise polynomial representations of theC0 andC2 boxsplines that are useful for practical reconstruction applications. We further demonstrate that approximation in the shift-invariantspace—generated by BCC-lattice shifts of these box splines—is twice as efficient as using the tensor-product B-spline solutions on theCartesian lattice (with comparable smoothness and approximation order and with the same sampling density). Practical evidence isprovided demonstrating that the BCC lattice not only is generally a more accurate sampling pattern, but also allows for extremely efficientreconstructions that outperform tensor-product Cartesian reconstructions.

Index Terms—BCC, box splines, discrete/continuous representations, optimal regular sampling.

Ç

1 INTRODUCTION

IN this paper, we focus on sampling and representation ofvolumetric data. Two important issues are dealt with:

1) the choice of the sampling pattern and 2) the signalmodel that links the discrete to the continuous domain and,thus, serves to effectively interpolate or approximate theunderlying continuous phenomenon. We start by introdu-cing both aspects.

1.1 Optimal Regular Sampling

The study of optimal regular sampling patterns is not new[11], [18], [24], [29]. For the class of signals that have anisotropic band-limited (or essentially low-pass) spectrum,the problem of optimal regular sampling can be answeredusing the solution to the optimal circle (2D) or sphere (3D)packing problem. This is due to the fact that the sparsestregular (lattice) distribution of samples in the spatialdomain demands the tightest arrangement of the replicasof the spectrum in the frequency domain. Therefore, theoptimal sampling lattice is simply the dual of the densestpacking lattice. This sampling lattice constitutes the bestgeneric lattice for sampling trivariate functions.

Gauß proved that the densest packing in 2D is obtainedby the hexagonal lattice [6]. For the 3D sphere packingproblem, which is also known as the Kepler problem datingfrom the early 17th century, Gauß proved that the face-centered cubic (FCC) lattice attains the highest possibledensity [6]. Further, the Kepler conjecture—that FCCpacking is an optimal packing of spheres even when the

lattice condition is not imposed—was not proven until 1998by a lengthy computer-aided proof [15].

For the class of isotropic band-limited signals, thehexagonal lattice can contain 14 percent more informationthan the Cartesian lattice without introduction of anyaliasing [24]. The analogous 3D FCC replication of thespectrum allows about 30 percent more information to becaptured without any aliasing in the spectrum of thefunction. Having the spectrum replicated on the FCC latticein the frequency domain corresponds to sampling on thebody-centered cubic (BCC) lattice in the spatial domain.

Despite their theoretical advantages, optimal samplingstrategies have only had a limited impact on practicalapplications. On one hand, there are no 3D scanning devicesyet that produce data directly sampled on the BCC lattice; onthe other hand, if the scanning machines adopt the optimalsampling pattern, main signal processing tools such asreconstruction to process and analyze the data are needed.

1.2 Reconstruction Kernels

Reconstruction from sampled data refers to the procedureof interpolating or approximating the underlying contin-uous-domain signal. Traditionally, the design of reconstruc-tion filters is a rich area in signal processing. This approachis discrete to discrete and thus provides estimates of thesignals on another regular sampling lattice. Typically,constraints in the frequency domain are used to guide thefilter design process (for example, [3], [12], [28]). On theother hand, the approximation theory has shown how todesign reconstruction kernels, which are defined in thecontinuous domain and allow the estimation of the signal atany point in space (for example, [16], [25], [27]).

These well-known solutions are 1D, and for imageprocessing and volume rendering, they are extended tomultiple dimensions through a separable extension (oftencalled the tensor-product approach) or through a sphericalextension (for example, McClellan transformation [22]). Theproblem of these extensions is that they do not deal wellwith the multidimensional nature of the sampling lattice, inparticular, for non-Cartesian lattices [19]. The separableextension clearly is only satisfactory for Cartesian lattices,

IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313

. A. Entezari and T. Moller are with the School of Computing Science,Simon Fraser University, 8888 University Drive, Burnaby, BC, V5A 1S6.E-mail: {aentezar, torsten}@cs.sfu.ca.

. D. Van De Ville is with the Biomedical Imaging Group, EPFL/STI/LIB, Bat.BM 4.140, Swiss Federal Institute of Technology Lausanne, Station 17, CH-1015 Lausanne, Switzerland. E-mail: [email protected].

Manuscript received 22 Nov. 2006; revised 1 June 2007; accepted 12 June2007; published online 19 July 2007.Recommended for acceptance by K. Joy.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number TVCG-0210-1106.Digital Object Identifier no. 10.1109/TVCG.2007.70429.

1077-2626/08/$25.00 � 2008 IEEE Published by the IEEE Computer Society

Page 2: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

for which the lattice’s natural Nyquist region (see Section 2)would coincide with the kernel’s low-pass region in thefrequency domain. The spherical extension, however, hasdifficulties imposing zero crossing in the frequency domainat the dual-lattice points, which is crucial to guaranteeapproximation order and polynomial reproduction [30].

An interesting example in 2D is “hex-splines,” whichform a B-spline family for hexagonally sampled data [32].The first-order hex-spline is defined as the indicatorfunction of the Voronoi cell (and is thus nonseparable).Higher order hex-splines are defined in terms of successiveconvolutions of the first-order function. Analytical formulasare available in both the frequency and the spatial domain.

Box splines offer a mathematically elegant framework forconstructing a class of multidimensional elements withflexible shape and support that can be nonseparable in anatural way. The general topic of box splines is ratherintricate, and a general survey of results on the topic hasbeen gathered in [9]. In this paper, we design a four-directional box spline that is geometrically aligned with theBCC lattice and allows for piecewise polynomial approx-imation of the data sampled on the BCC lattice.

The most commonly used method for evaluating boxsplines at arbitrary points is through de Boor’s recurrencerelation [9]. Unfortunately, the recursive evaluation of boxsplines is computationally inefficient and prone to numericalinstabilities [10]. Kobbelt addresses the instability issues bydelaying the evaluation of the discontinuous step functionuntil the latest stages of recursion [17]. Even though thenumerical inaccuracies of the recursive algorithm can beminimized, to make box splines practical in the field ofvolume graphics (for example, volume rendering), thecomputational complexity of their evaluation needs to besignificantly reduced. Although the use of box splines insurface subdivision in graphics demands evaluations of a boxspline on a fixed mesh, in the volume rendering domain, oneneeds to evaluate a box spline at arbitrary points. Fortraditional B-splines, the explicit piecewise polynomialrepresentation is commonly used for fast evaluation; there-fore, we introduce a new piecewise polynomial representa-tion for the proposed box splines in Section 5.

In [8], Dæhlen proposes an algorithm to evaluate a four-directional box spline on a fixed mesh shifted to an arbitraryposition. Somewhat similar to our evaluation method, herelies on the relation of box splines to cone splines (truncatedpower functions). In Dæhlen’s method, the evaluation oftruncated power functions is still based on a recurrencerelation and is based on the connection with simplexsplines. In our case, however, we derive the explicitpolynomial representation of the truncated power functionin Section 5. This representation provides us with the exactevaluation of box splines that is free of numericalinaccuracies since we avoid any recurrence relations.Furthermore, similar to the piecewise polynomial evalua-tion methods of B-splines, our method exploits thesymmetries in the support of the box spline to furtherreduce the computational cost (see Section 5.5.4).

In volume graphics, the optimality of BCC sampling hasbeen explored by Theußl et al. [20]. They applied thespherical extension of reconstruction filters, which resultedin rather blurry and unsatisfying results. Different ad hocapproaches were studied for reconstruction and derivativereconstruction on the BCC lattice, with mixed results [19].Also, isosurface extraction on the optimal sampling latticehas been studied with inconclusive results [4]. We also

exploited the BCC lattice in multiresolution analysis [14].Recently, Csebfalvi [7] demonstrated a reconstruction usinga Gaussian kernel and the principle of generalized inter-polation [31]. Although this method provides an isotropicsolution, it does not guarantee approximation order. It isalso a numerical scheme without any closed-form solutionfor the interpolation kernel. Moreover, our explicit piece-wise polynomial representation makes the box-splinesolution several times more computationally efficient thanthat in [7] (see Section 6).

1.3 Scope and Organization of the Paper

In this paper, we provide accurate and efficient reconstruc-tion methods for the BCC lattice. Such reconstructions havebeen sought for in the volume graphics community [4], [19],[20] to better exploit the theoretical advantages of the BCClattice. Several contributions are proposed:

. We establish a four-directional box spline that isgeometrically tailored to the BCC lattice in Section 4.1

The first-order box spline is a 3D piecewise linearfunction. Higher order versions are obtained bysuccessive convolutions. This way, we can choosethe required smoothness and approximation order.

. We explicitly characterize the polynomial patchesdefining these box splines, which is detailed inSection 5. Our characterization method is general(for any order) and leads to polynomial expressionsthat can be implemented to evaluate the box splineat any point. Specifically, we derive the explicitexpressions for the C0 and C2 members of our familyof BCC box splines, since they are the most relevantfor the practitioner in rendering applications.

. We demonstrate that our box splines (for C0 andC2 continuity) on the BCC lattice are computa-tionally twice as efficient as tensor-product B-splines on the Cartesian lattice (for comparablesmoothness and the same sampling density); seeTable 2. Based on these results, in Section 6, weconclude that BCC lattice sampling can be moreattractive not only on a theoretical level, but alsoin a practical setting.

2 GEOMETRY OF THE BODY-CENTERED CUBIC

LATTICE

A lattice is a periodic pattern made up by an infinite array ofpoints in which each point has a neighborhood identical tothose of all the other points [2]. In other words, every latticepoint has the same Voronoi cell, and we can refer to theVoronoi cell of the lattice without ambiguity.

Periodic sampling of a function in the spatial domain givesrise to a periodic replication of its spectrum in the frequencydomain. The lattice that describes the centers of the replicas inthe frequency domain is called the dual, reciprocal, or polarlattice. Reconstruction amounts to eliminating the replicas ofthe spectrum in the frequency domain and preserving theprimary spectrum. Therefore, the ideal kernel for reconstruc-tion in the space of “band-limited” functions is a function thatis the inverse Fourier transform of the characteristic functionof the Voronoi cell of the dual lattice.

In 3D, the BCC lattice points are located on the corners ofa cube with an additional sample in the center of this cube.

314 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008

1. A preliminary version of these box splines was presented in ourconference paper [13].

Page 3: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

Therefore, the BCC lattice can be considered as twointerleaving Cartesian lattices where the vertices of thesecondary Cartesian lattice are moved to the center of theprimary Cartesian cells. An alternative way of describingthe BCC lattice as a sublattice of the Cartesian is to startwith a Cartesian lattice (that is, ZZ3) and retain only thosepoints whose coordinates have identical parity. For aninteger point in ZZ3 to belong to the BCC lattice, all three ofx, y, and z-coordinates need to be odd, or all three need to beeven. Therefore, the BCC lattice is a subgroup whosequotient group is of order four.2 Therefore, the BCC lattice isa sublattice of ZZ3 whose density is 1/4 in ZZ3; in otherwords, the volume of the Voronoi cell of each lattice point isfour. This BCC lattice can be generated by integer linearcombinations of the columns of the sampling matrix:

BCCBCC ¼1 �1 �1�1 1 �1�1 �1 1

24

35: ð1Þ

Sampling a function with lattice points generated by theBCC sampling matrix, has the effect of replicating thespectrum of that function periodically on the dual lattice,which is an FCC-type lattice generated by [11]

FCCFCC ¼ 2�BCCBCC�T ¼ ��0 1 11 0 11 1 0

24

35: ð2Þ

The FCC lattice is often referred to as the DD3 lattice [6]. Infact, DD3 belongs to a general family of lattices DDn, some-times called checkerboard lattices. The checkerboard prop-erty implies that the sum of the coordinates of the latticesites is always even (multiple of � with the scaling in (2)).We will use this property to demonstrate the zero crossingsof the frequency response of the reconstruction filters at theFCC lattice sites.

The simplest interpolation kernel on any lattice is theindicator function of the Voronoi cell of the lattice. Thecorresponding interpolation scheme is the generalization ofthe so-called nearest neighbor interpolation. More sophis-ticated reconstruction kernels involve information from theneighboring points of a given lattice point. With this inmind, we focus in the next section on the geometry and thepolyhedra associated with the BCC lattice.

2.1 Polyhedra Associated with the Body-CenteredCubic Lattice

Certain polyhedra arise naturally in the process of construct-ing interpolation filters for a lattice. The Voronoi cell of thelattice is one such example. The Voronoi cell of the Cartesianlattice is a cube, and the Voronoi cell of the BCC lattice is atruncated octahedron, as illustrated in Fig. 1a.

We are also interested in the cell formed by theimmediate neighbors of a lattice point. The first (nearest)neighbors of a lattice point are defined via the Delaunaytetrahedralization of the lattice; a point qq is a first neighbor ofpp if their respective Voronoi cells share a (nondegenerate)face. The first neighbors’ cell is the polyhedron whosevertices are the first neighbors. Again, this cell is the samefor all points on the lattice.

For example, by this definition, there are six firstneighbors of a point in a Cartesian lattice; the firstneighbors’ cell for the Cartesian lattice is the octahedron.For the BCC lattice, there are 14 first neighbors for eachlattice point. The first neighbor cell is a rhombic dodecahe-dron, as illustrated in Fig. 1b.

3 BOX SPLINES REVIEW

Here, we begin by briefly introducing box splines and statetheir properties that will be useful further on.

A box spline is characterized by a set of direction vectorsthat indicate its construction by successive convolution ofline segments along these vectors. The linear combination ofshifts of a box spline generates a spline whose smoothnessand ability to approximate continuous functions alsodepend on these direction vectors. Notationally, the direc-tion vectors are usually gathered in a matrix; that is, a boxspline in IRs is specified by n � s vectors in IRs that arecolumns of its matrix � ¼ ½��1; ��2; . . . ; ��n�. The support of thebox spline is all points xx 2 IRs such that xx ¼ �tt, wherett 2 IRn, and 0 � tk � 1 for 1 � k � n. In other words, thesupport of the box spline is contained in the convexcombination of these direction vectors.

The simplest box spline is constructed byn ¼ svectors andis the (area-normalized) characteristic function of its support:

M�ðxxÞ ¼1

j det �j where xx ¼ �t and t 2 ½0; 1Þn;0 otherwise:

�ð3Þ

Clearly, the box spline from (3) is discontinuous at theboundary of its support. Its 1D version is the boxcarr functionthat is simply the indicator function for the interval [0, 1).

For the general case n > s, the box splines are definedrecursively:

M �;��½ �ðxxÞ ¼Z 1

0

M�ðxx� t��Þdt: ð4Þ

This inductive definition implies that starting from the basecase as in (3) the indicator function is smeared along theadditional direction vector. Hence, the convolution of twobox splines is yet another box spline:

M�1�M�2

ðxxÞ ¼M �1;�2½ �ðxxÞ: ð5Þ

ENTEZARI ET AL.: PRACTICAL BOX SPLINES FOR RECONSTRUCTION ON THE BODY CENTERED CUBIC LATTICE 315

2. Looking at the ðx; y; zÞ coordinates mod 2, there are eight differentcombinations, and we are interested in only two: (0, 0, 0) and (1, 1, 1).

Fig. 1. (a) The Voronoi cell of the BCC lattice is the truncated

octahedron. (b) The first neighbors’ cell is the rhombic dodecahedron.

Page 4: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

A box spline is a piecewise polynomial of degree at mostn� s. Moreover, let � be the minimal number of vectorssuch that if they were removed from �, the remainingvectors would not span IRs. Then, M� 2 C��2, where Cn isthe space of n-time continuously differentiable functions.The Fourier transform of a box spline is

M�ð!!Þ ¼Y��2�

1� expð�i��T!!Þi��T!!

; ð6Þ

where i ¼ffiffiffiffiffiffiffi�1p

as usual. In 2D, the simplest box spline isspecified by

�0 ¼ ��1 ��2½ � ¼ 1 00 1

� �;

which is the indicator function of the unit square ½0; 1Þ2.

Adding a direction vector of ��3 ¼ ½ 1 1 �T to �0 smearsthe unit square across its diagonal. This is illustrated in Fig. 2.As the basic box spline is a constant function on the unitsquare, the result of smearing it along the diagonal produces alinear box spline that is represented by ½�0; ��3�. The support ofthis box spline is illustrated in Fig. 2b. This box spline is abivariate piecewise polynomial of degree one. This box splinegenerates a C0 spline function space, as � ¼ 2.

4 FOUR-DIRECTIONAL BOX SPLINE ON THE

BODY-CENTERED CUBIC LATTICE

The construction of box splines dedicated to the BCC latticeis guided by the fact that the rhombic dodecahedron (thefirst neighbors’ cell of the BCC lattice, see Fig. 1b) is the 3Dshadow of a 4D hypercube (tesseract) along its antipodalaxis. This construction is a generalization of the 2D linearbox spline with hexagonal support, which can be obtainedby projecting a 3D cube along its antipodal axis; see Fig. 3b.

4.1 Geometric Construction

Integrating a constant tesseract along its antipodal axisyields a function that has a rhombic dodecahedron support(see Fig. 1b), has its maximum value at the center, and has alinear falloff toward the 14 first-neighbor vertices. Since itarises from the projection of a higher dimensional box, thisfunction serves as the linear box spline interpolation kernelon the BCC lattice.

Let B denote the boxcarr function. The characteristicfunction of the unit tesseract is given by a tensor product offour B functions on each axis. By projecting the unittesseract, one obtains a rhombic dodecahedron whosegeometric scale is only half of the first neighbors’ cell ofthe BCC lattice described by (1). In this BCC lattice, withinteger lattice coordinates, the first neighbors’ cell is scaledsuch that the blue edges in Fig. 1b are of length two.

Therefore, we scale the geometry of the unit tesseract bytwo and normalize by its hypervolume:

T ðx; y; z; wÞ :¼ 1

16Bðx=2ÞBðy=2ÞBðz=2ÞBðw=2Þ: ð7Þ

Let vv ¼ ð2; 2; 2; 2Þ :¼ ½2; 2; 2; 2�T denote a vector along theantipodal axis. In order to project along this axis, it isconvenient to rotate it so that it aligns with the w-axis:

RR ¼ 1

2��1��2��3��4½ � ¼ 1

2

1 �1 �1 1�1 1 �1 1�1 �1 1 1

1 1 1 1

2664

3775: ð8Þ

This rotation matrix transforms vv to (0, 0, 0, 4). Also, byexamining (8), one can see that each vertex of the rotatedtesseract, when projected along the w-axis, will coincidewith the origin or one of the vertices of the rhombicdodecahedron: ð�1;�1;�1Þ, (�2; 0; 0), (0;�2; 0), (0; 0;�2),or (0; 0; 0). Let xx ¼ ðx; y; z; wÞ; now, the linear box spline isgiven by

LRDðx; y; zÞ ¼1

16

ZT ðRR�1xxÞ dw:

Substituting in (7), we get

LRDðx; y; zÞ ¼1

16

Z Y4

k¼1

B 1

4��Tk xx

� �dw: ð9Þ

Note that value at the origin is LRDð0; 0; 0Þ ¼ 1=4 (see [9,II.8]). This is due to the fact that the box splines arenormalized to

RLRDðxxÞdxx ¼ 1, whereas the sampling

density of the BCC lattice ð14Þ demands a kernel whoseintegral is four. Therefore, in order to preserve the energy inthe discrete/continuous model, we employ the box splinesscaled by four on the BCC lattice. This scaling ensures thatthe value of the linear box spline is one at the center andzero at all other lattice sites. Hence, the linear box splineconstitutes a linear interpolator on the BCC lattice.

4.2 Fourier Transform

If the direction matrix of a box spline is known, thedistributional definition of box splines easily leads to theirfrequency-domain representation. Here, we present a geo-metric derivation of the Fourier transform of our box spline.

From the projection-based construction of the rhombicdodecahedron discussed earlier, we can derive the Fouriertransform of the linear box spline function described by (9).From (7), it is evident that the Fourier transform of the

316 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008

Fig. 2. Construction of the linear element from the simplest box spline.

Fig. 3. (a) One-dimensional linear box spline (triangle function). (b) Two-

dimensional hexagonal linear box spline.

Page 5: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

characteristic function of the tesseract is given by the tensorproduct:

T ð!x; !y; !z; !wÞ ¼1� expð�i2!xÞ

i2!x

1� expð�i2!yÞi2!y

1� expð�i2!zÞi2!z

1� expð�i2!wÞi2!w

since 12Bðx=2Þ !

1�expð�i2!Þi2! . We use ! to indicate a

Fourier transform pair.By the Fourier slice-projection theorem, projecting a

function along a certain direction in the spatial domainamounts to slicing its Fourier transform perpendicular tothe direction of projection. This slice runs through theorigin. Again, we make use of the rotation (8) to align theprojection axis with the w-axis. Thus, in the frequencydomain, we take the slice !w ¼ 0.

It is convenient to introduce the 3 � 4 matrix

� ¼ ½��1��2��3��4� ¼1 �1 �1 1�1 1 �1 1�1 �1 1 1

24

35 ð10Þ

given by the first three rows of the rotation matrixRRof (8). Thereason for omitting the last row is that we are taking a slice!w ¼ 0 orthogonal to the fourth axis at the origin. The Fouriertransform of the linear box spline can now be written as

LRDð!x; !y; !zÞ ¼Y4

k¼1

1� expð�i��Tk !!Þ

i��Tk !!

;

where !! ¼ ð!x; !y; !zÞ. The space-domain function LRDcorresponds to the box spline M�; we will use this boxspline symbol from now on. The Fourier transform of thisbox spline is then

M�ð!!Þ ¼Y4

k¼1

1� expð�i��Tk !!Þ

i��Tk !!

: ð11Þ

Since any three of the vectors in � span IR3, at least twovectors need to be removed from �, so the remainingvectors do not span; therefore, � ¼ 2. Hence, this box splineis guaranteed to produce a C0 reconstruction. We can verifythe vanishing moments (zero crossings) of the frequencyresponse at the aliasing frequencies on the FCC latticepoints. We first note that

P4k¼1 ��k ¼ 0; therefore, the center

of the box spline M� is at the origin [9], and the Fouriertransform can be written as

M�ð!!Þ ¼Y4

k¼1

sincð��Tk !!Þ:

Recall that sincðtÞ ¼ sinðt=2Þt=2 . This reformulation provides a

more convenient form to verify zero crossings. Due to thecheckerboard property, for every FCC lattice point, the sumof its coordinates is always even. Since the FCC lattice dualto the BCC lattice of our discussion is scaled by � (accordingto (1)), for !! on the FCC lattice, ��T

4 !! ¼ ð!x þ !y þ !zÞ ¼ 2�kfor some k 2 ZZ; therefore, sincð��T

4 !!Þ ¼ 0 on all of thealiasing frequencies. Since ��T

4 !! ¼ ���T1 !!� ��T

2 !!� ��T3 !!, at

least one of the ��Tm!! for m ¼ 1; 2; 3 needs to also be an even

multiple of � since the sum of three odd multiples of �cannot be an even multiple. For such k, we havesincð��T

k !!Þ ¼ 0; therefore, there is a zero of order at leasttwo at each aliasing frequency, yielding a C0 kernel whose

approximation power is two on the BCC lattice [30]. Thissmoothness and approximation power parallels that of thetrilinear B-spline interpolation on the Cartesian lattice.

4.3 Higher Order Box Splines

The number of vanishing moments can be doubled byconvolving the linear box spline with itself. Hence, theresulting reconstruction kernel will have twice the approx-imation power on the BCC lattice due to the Strang-Fixresult [30]. As noted before, the resulting box spline canthen be represented by �2 :¼ ½�;��, where every directionvector is duplicated.

An equivalent method of deriving this function would beto convolve the constant function on the tesseract with itselfand project the resulting distribution along a diagonal axis(this commutation of convolution and projection is easy tounderstand in terms of the corresponding operators in thefrequency domain—see Section 4.2). Convolving the con-stant function on the tesseract with itself results in anotherfunction supported on a tesseract that is the tensor productof four 1D triangle (linear B-spline) functions. Let � denotethe triangle function. Then, the convolution yields

T cðx; y; z; wÞ ¼1

16�

1

2x

� ��

1

2y

� ��

1

2z

� ��

1

2w

� �: ð12Þ

Following the same 4D rotation as in the previous section,we obtain a space-domain representation of the new boxspline:

CRDðx; y; zÞ ¼1

16

Z Y4

k¼1

�1

4��Tk xx

� �dw: ð13Þ

Similar to the linear case, we use the matrix of �2 torepresent this properly scaled box spline. Since convolutionin the space domain amounts to a multiplication in thefrequency domain, we use (11) to derive the Fouriertransform of the new box spline:

M�2ð!!Þ ¼ M2�ð!!Þ ¼

Y4

k¼1

1� expð�i��Tk !!Þ

i��Tk !!

!2

: ð14Þ

We can see that the number of vanishing moments of this boxspline is doubled when compared to the linear kernel. Thisimplies that this box spline has fourth-order approximationpower on the BCC lattice [30]. The eight directions of this boxspline �2 are duplicates of the original four directions.Consequently, the minimum number of directions that oneneeds to remove from �2 so that the remaining vectors do notspan IR3 is � ¼ 4; hence, the weighted shifts of this box splineare guaranteed to produce C2 continuous reconstructionswith fourth-order approximation. This smoothness andapproximation power parallels that of the tricubic B-splinereconstruction on the Cartesian lattice; for this reason, wehave referred to M�2 as the “cubic” box spline in [13].However, since there are eight directions, this trivariate boxspline is composed of quintic polynomials. Therefore,according to de Boor’s notations [9], we will call this boxspline a quintic box spline.

As we noted earlier, M� is of second-order approxima-tion power on the BCC lattice. The nth convolution of thelinear kernel with itself, denoted by M�n , will have anapproximation power of 2n on the BCC lattice. These boxsplines would produce C2n�2 reconstructions.

ENTEZARI ET AL.: PRACTICAL BOX SPLINES FOR RECONSTRUCTION ON THE BODY CENTERED CUBIC LATTICE 317

Page 6: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

4.4 Support

The support of M� is a rhombic dodecahedron, as shown inFig. 4. The support of M�n is the Minkowski sum of n copiesof rhombic dodecahedron. Since a rhombic dodecahedron isa convex and symmetric polyhedron (with respect to itscenter), its Minkowski addition with itself will have thesame shape, scaled by two. In general, the support of M�n

would be a rhombic dodecahedron scaled by n [33].The volume of the support of the box spline M� as

depicted in Fig. 4 is 16. Therefore, for a point xx in a generalposition, 16 points from ZZ3 intersect the support of M�ðxxÞ[9, II.15]. Since only 1/4 of these points belong to the BCClattice, only four BCC points fall inside the support ofM�ðxxÞ. Similarly, the support of M�2 is a rhombicdodecahedron whose direction vectors are scaled by two.Therefore, its volume is 128, which implies that only 32 BCCpoints fall inside the support of M�2ðxxÞ.

This fact implies that a C0 reconstruction with second-

order approximation power on BCC only needs four data

points,3 whereas for this smoothness and accuracy on the

Cartesian lattice, trilinear interpolation requires a neighbor-

hood of 2� 2� 2 ¼ 8 data points. Similarly, a C2 recon-

struction with fourth-order approximation on BCC only

needs 32 data points, whereas for this smoothness and

accuracy on the Cartesian lattice, tricubic B-spline requires a

neighborhood of 4� 4� 4 ¼ 64 data points (see Table 1 for

a summary). Hence, as we will see in Section 6, the

computational cost of BCC reconstruction is significantly

lower than a similar reconstruction on the Cartesian lattice

with an equivalent sampling density.

5 EXPLICIT PIECEWISE POLYNOMIAL

REPRESENTATION

The previous section defined the four-directional box splineon the BCC lattice and showed some of its main propertiesderived from its Fourier transform. However, a literalimplementation of (9) and (13), as we implemented in [13],turned out to be extremely inefficient (especially in the caseof the quintic box spline). Hence, although theoreticallyexciting, these splines were not useful in a practical setting.To make them practical for computer graphics andvisualization applications, we derive a piecewise polyno-mial representation that allows an extremely fast evaluationas desired for these applications.

5.1 Preliminaries and Outline of Derivation

In the following discussion, the symbol r�� denotes a(directional) finite-difference operator and is defined byr��fðxxÞ ¼ fðxxÞ � fðxx� ��Þ. For a matrix of directions, �,the difference operator is defined as successive applica-tions of difference operators along each direction in� : r� ¼

Q��2�r��. The corresponding differential operator

is denoted by DD�. Green’s function of a differentialoperator is a function g that satisfies DDg ¼ �, where �denotes Dirac’s delta (generalized) function. The Fouriertransform of � in the distributional sense is the constantfunction one.

Box splines, similar to B-splines, are piecewise polynomialfunctions with bounded support. In this section, we will seethat the box spline M� can be derived by applying the finite-difference operator r� to a single function G�, which isGreen’s function for the differential operatorDD� correspond-ing tor�.

The essential idea in our derivation is to closely analyze thenumerator and denominator of the Fourier transform of boxsplines (as in (11)). The numerator corresponds to the boxspline’s difference operator in the space domain, which isdefined as

r� !Y��2�

1� expð�i��T!!Þ: ð15Þ

In Section 5.2, we will derive the weights and theirrespective positions in 3D as a discrete series for thefinite-difference operator of our box splines.

Using distribution theory, we can identify the remainingpart of (11) as the Fourier transform of G� in space domain,since

DD� !Y��2�

i��T!!; and G� !Y��2�

1

i��T!!:

318 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008

3. The four points in the linear interpolant construct a barycentricinterpolation on the tetrahedron they form.

Fig. 4. The support of the box spline represented by � is a rhombicdodecahedron formed by the four direction vectors in �.

TABLE 1Reconstruction Properties of the Proposed Box Splines

on the BCC Lattice and Tensor-Product B-Splineson the Cartesian Lattice

TABLE 2Rendering Times

C0 and C2 indicate the linear and quintic box splines on the BCC latticeand the trilinear and tricubic B-splines on the Cartesian lattice,respectively.

Page 7: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

If this differential operator DD� is applied to its Green’sfunction G�, Dirac’s delta is obtained. However, if we applythe corresponding finite-difference operator to the Green’sfunction, the box splines are obtained:

M�ðxxÞ ¼ r�G�ðxxÞ:

We will show in Section 5.3 that the function G� isconstructed by superpositions and linear transformationsof a tensor product of (two-sided) signed monomials:xksgnðxÞ. In Section 5.4, we will see that we can also derivebox splines by applying the difference operators on theirtruncated powers T�. Truncated powers are very similar toG�, but instead of the two-sided signed monomials, theyare constructed from one-sided monomials:

ðxÞkþ ¼xk if x � 0;0 if x < 0:

�ð16Þ

ðxÞk� is also defined as ðxÞk� ¼ xk � ðxÞkþ. Since one-sided

monomials are supported on half-spaces, they are moreconvenient than Green’s functions in derivations.

Four-directional box splines of generally higher degreesare obtained by n convolutions of the linear box spline,which amounts to

M�nðxxÞ ¼ r�nT�nðxxÞ: ð17Þ

These box splines are represented in the frequencydomain by

M�nð!!Þ ¼ Mn�ð!!Þ ¼

1

i4n

Y4

k¼1

ð1� expð�i��Tk !!ÞÞ

n

ð��Tk !!Þ

n :

For notational convenience, we introduce the scalarvariables:

zk :¼ expð�i��Tk !!Þ;

wk :¼ ��Tk !!:

ð18Þ

This notation allows us to write the Fourier transforms ofhigher degree box splines more compactly as

Mn�ð!!Þ ¼

Y4

k¼1

ð1� zkÞn

wnk

:

Furthermore, we note that due to the structure ofP4k¼1 ��k ¼ 0 in �,

P4k¼1 wk ¼ 0, and

Q4k¼1 zk ¼ 1.

5.2 Difference Operator

The finite-difference operator can be represented as a filter.Its coefficients weight the Green’s function that is shifted tothe various lattice points, as in (17). The Z-domainrepresentation of the difference operator allows for an easypolynomial representation of this discrete series:

rn�ðzzÞ ¼

Y4

k¼1

ð1� zkÞn: ð19Þ

Expanding this equation for the linear box spline n ¼ 1 andusing the fact that

Q4k¼1 zk ¼ 1, we get

r�ðzzÞ ¼ 2� ðz1 þ z2 þ z3 þ z4Þþ ðz1z2 þ z1z3 þ z1z4 þ z2z3 þ z2z4 þ z3z4Þ� ðz1z2z3 þ z1z2z4 þ z1z3z4 þ z2z3z4Þ:

ð20Þ

For a more compact notation, we adopt a slightly different

multinomial notation where the power operation on 4-

tuples Z ¼ ðz1; z2; z3; z4Þ by � ¼ ð�1; �2; �3; �4Þ is defined as

Z� ¼ 1

pð�ÞX

�1;...;�4ð Þ2perm �1;...;�4ð Þz�1

1 z�2

2 z�3

3 z�4

4 ; ð21Þ

where permð�Þ is the set of all permutations of �, and pð�Þcounts the number of permutations of repeated values in �.

This is to avoid counting duplicate terms of the polynomial.

For instance, if the value of�1 is repeated in� r1 times and the

value of �2 is repeated r2 times, then pð�Þ ¼ r1!r2!. In this

notation, the difference operator weights are represented as

r�ðzzÞ ¼ 2� Z 1;0;0;0ð Þ þ Z 1;1;0;0ð Þ � Z 1;1;1;0ð Þ:

Note that since z�11 ¼ z2z3z4, both Zð1;0;0;0Þ and Zð1;1;1;0Þ

denote the same set of monomials, which contain exactly

one lattice vector. Geometrically, one can visualize the

weights being 2 at the origin, �1 on all BCC lattice points

reachable by exactly one lattice vector (positive or negative),

and þ1 on lattice points that can be reached by exactly two

lattice vectors. This is illustrated in Fig. 5a. Similarly, the

ENTEZARI ET AL.: PRACTICAL BOX SPLINES FOR RECONSTRUCTION ON THE BODY CENTERED CUBIC LATTICE 319

Fig. 5. (a) Weights for the difference operator of the linear box spline.

(b) Weights for the difference operator of the quintic box spline. For

simplicity of illustration, only one of the parallelepipeds constituting the

rhombic dodecahedron has been drawn with all of its internal vertices.

Page 8: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

difference operator weights for the quintic box spline n ¼ 2

can be derived from (19) in the compact form as

r2�ðzzÞ ¼ 18� 10Z 1;0;0;0ð Þ þ 8Z 1;1;0;0ð Þ þ 4Z 2;1;1;0ð Þ

� 2Z 2;1;0;0ð Þ þ Z 2;0;0;0ð Þ þ Z 2;2;0;0ð Þ:ð22Þ

These weights are on BCC lattice points on a rhombic

dodecahedron with a neighborhood two times larger than

that of the linear-box-spline case and are displayed in Fig. 5b.

5.3 Green’s Function

We now describe a procedure to derive the space-domainrepresentation of the Green’s functions of our box splines.We make use of the wk variables introduced in (18):

G�ð!!Þ ¼Y4

k¼1

1

��Tk !!¼Y4

k¼1

1

wk:

The objective is to rewrite G� into a number of terms, each ofwhich contains only three of the four wk variables. Such athree-variable expression can then be written as a lineartransformation of a trivariate function whose inverse Fouriertransform can be obtained by a tensor product. The generalidea is to exploit the relation w1 þ w2 þ w3 ¼ �w4 to reducethe number of variables in the denominator and obtain a sumof terms with one less variable. This helps to eliminate anyfourth variable with the help of the proper numerator, andconsequently, we introduce new terms in the expressionwhile increasing the power of w4. This procedure is thefrequency-domain reasoning of the spatial-domain recursivestructure of the box splines. We can always apply thisprocedure since whenever the number of directions n isgreater than the dimension of the space s, the additionaldirections of the box spline can be written as the linearcombination of the s linearly independent vectors. The G� ofthe linear box spline can be rewritten as

G�ð!!Þ ¼1

w1w2w3w4¼ �

w1þw2þw3

w4

w1w2w3w4

¼ �1

w24w1w2w3

� ðw1 þ w2 þ w3Þ:

Although the general Green’s function of the nth box spline

is G�n ¼ ðG�Þn, for the linear box spline, we have n ¼ 1:

G�ð!!Þ ¼�1

w24

1

w1w2þ 1

w1w3þ 1

w2w3

� �: ð23Þ

Similarly, the quintic box spline’s Green’s function is

obtained by n ¼ 2:

G�2ð!!Þ ¼ G2�ð!!Þ ¼

1

w44

1

w21w2

2

þ 1

w21w2

3

þ 1

w22w2

3

� �þ

�2

w54

1

w21w3þ 1

w21w2þ 1

w22w3þ 1

w22w1þ 1

w23w1þ 1

w23w2

� �þ

6

w64

1

w2w3þ 1

w1w3þ 1

w1w2

� �:

ð24Þ

Now, we can move back to using the frequency variables!! ¼ ð!x; !y; !zÞ. We first define these building-blockfunctions:

�1ð!x; !y; !zÞ ¼�1

!x!y!2z

;

�2ð!x; !y; !zÞ ¼1

!2x!

2y!

4z

� 21

!2x!yþ 1

!x!2y

!1

!5z

þ 6

!x!y!5z

:

ð25Þ

These functions are useful since the G� of our box splinesare essentially linear transformations (for example,ðw1;w2;w4Þ ¼ �T

f1;2;4g!!) and superpositions of these build-ing-block functions:

G�ð!!Þ ¼ �1ð�Tf1;2;4g!!Þ þ �1ð�T

f1;3;4g!!Þ þ �1ð�Tf2;3;4g!!Þ;

G�2ð!!Þ ¼ �2ð�Tf1;2;4g!!Þ þ �2ð�T

f1;3;4g!!Þ þ �2ð�Tf2;3;4g!!Þ:

Here, the subscript fi; j; kg indicates the matrix formed bythe ith, jth, and kth columns of �.

We now derive the inverse Fourier transform of thesebuilding-block functions. First, we recognize that theFourier inverse of 1=ði!Þk is the two-sided monomial [1]:

ðxÞksgn

k!:¼ 1

2

xksgnðxÞk!

! 1

ði!Þkþ1: ð26Þ

We can derive the space-domain representation of ourbuilding-block functions as a tensor-product inverse Four-ier transform of the equations in (25):

�1ðx; y; zÞ ¼ � ðxÞ0sgnðyÞ0sgnðzÞsgn;

�2ðx; y; zÞ ¼1

3!ðxÞsgnðyÞsgnðzÞ

3sgnþ

�2

4!ðxÞsgnðyÞ

0sgn þ ðxÞ

0sgnðyÞsgn

h iðzÞ4sgnþ

6

5!ðxÞ0sgnðyÞ

0sgnðzÞ

5sgn:

ð27Þ

If QQ is an invertible matrix, we know thatfðQQxÞ !fððQQÞ�1!!Þ=j detQQj. Therefore, we can write thespace-domain representation of the Green’s function ofthese box splines as

G�ðxxÞ ¼1

4�1ð��1

f1;2;4gxxÞ þ �1ð��1f1;3;4gxxÞ þ �1ð��1

f2;3;4gxx�

;

G�2ðxxÞ ¼ 1

4�2ð��1

f1;2;4gxxÞ þ �2ð��1f1;3;4gxxÞ þ �2ð��1

f2;3;4gxx�

;

ð28Þ

where xx ¼ ðx; y; zÞ, and

j det ��1f1;2;4gj ¼ j det ��1

f1;3;4gj ¼ j det ��1f2;3;4gj ¼ 1=4:

5.4 Truncated Power

Recall that the Green’s functions were constructed fromthe signed monomials xksgnðxÞ in (27). The differentialoperator D�, when applied on these signed monomials,transformed in (28), results in a � function. Consequently,this differential operator annihilates all polynomials ofdegree � k encountered in the signed polynomials in theGreen’s function. Similarly, the finite-difference operatorannihilates all of these polynomials [9, I.32].

Since box splines are obtained by applying thedifference operator on the Green’s function, we can addor subtract any polynomials up to degree k found in the

320 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008

Page 9: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

Green’s function. Therefore, the box spline can also beobtained by applying the difference operator to a Green’sfunction that is obtained from 1

2 ðxksgnðxÞ � xkÞ ¼ �ðxÞk� or12 ðxksgnðxÞ þ xkÞ ¼ ðxÞkþ. The contributions from adding orsubtracting xk is eliminated since the difference operatorannihilates the polynomials made of xk. The advantage ofworking with these one-sided monomials is that they aresupported on half-spaces, whereas the support of Green’sfunctions in (28) is the entire space.

Therefore, we redefine the building-block functions byusing ðxÞkþ, ðyÞkþ, and �ðzÞk�:

�1ðx; y; zÞ ¼ ðxÞ0þðyÞ0þðzÞ�;

�2ðx; y; zÞ ¼�1

3!ðxÞþðyÞþðzÞ

3�þ

2

4!ðxÞþðyÞ

0þ þ ðxÞ

0þðyÞþ

h iðzÞ4�þ

�6

5!ðxÞ0þðyÞ

0þðzÞ

5�:

ð29Þ

Note that the support of these building-block functions is onpoints xx 2 IR3 such that x; y > 0 and z < 0. We furtherderive the truncated power functions to be

T�ðxxÞ ¼1

4�1ð��1

f1;2;4gxxÞ þ �1ð��1f1;3;4gxxÞ þ �1ð��1

f2;3;4gxx�

;

T�2ðxxÞ ¼ 1

4�2ð��1

f1;2;4gxxÞ þ �2ð��1f1;3;4gxxÞ þ �2ð��1

f2;3;4gxx�

:

ð30Þ

The crucial point here is that the values of truncatedpower functions at any point xx are affected only by one ofthe three terms on the right-hand sides of the aboveequations. To see this fact, recall that �1ðx; y; zÞ and �2ðx; y; zÞare nonzero only when x; y > 0 and z < 0. The support ofeach building-block function is transformed in (30) to conesformed by columns of � (for example, the support of�1ð��1

f1;2;4gxxÞ is all points xx ¼ �f1;2;4gðt1; t2; t3Þ for t1; t2 > 0and t3 < 0). The support of the building-block functions istransformed as

��1f1;2;4gxx ¼

1

2x� z; y� z; xþ yð Þ;

��1f1;3;4gxx ¼

1

2x� y; z� y; xþ zð Þ;

��1f2;3;4gxx ¼

1

2y� x; z� x; yþ zð Þ:

ð31Þ

Therefore, the support of �1ð��1f1;2;4gxxÞ is the cone that is the

intersection of the half-spaces determined by x� z > 0,

y� z > 0, and xþ y < 0 (see Fig. 6). Similarly, the support

of �1ð��1f1;3;4gxxÞ is the cone that is the intersection of the half-

spaces determined by x� y > 0, z� y > 0, and xþ z < 0.

Since y� z < 0 and z� y < 0 are disjoint, the support of

�1ð��1f1;2;4gxxÞ and �1ð��1

f1;3;4gxxÞ are disjoint. Therefore, the

supports of each building-block function transformed in

(30) are nonoverlapping.The support of the truncated power functions of the box

splines is the union of each cone formed by the matrices ofthe equations in (30). The support of each transformedbuilding-block function along with the support of thetruncated power of the box splines is illustrated in Fig. 6.The red arrows indicate the half-spaces in the support.

Therefore, one can verify that the support of the truncatedpower functions is the union of the half-spaces determinedby xþ y < 0, xþ z < 0, and yþ z < 0.

Since the supports of the transformed � functions arenonoverlapping, at any point xx, only one of the threetransformed � ’s contribute to the value of the truncatedpower. For xx to be within the support of one of thetransformed � functions, its first and second components ofthe transformed vector need to be positive, whereas thethird component needs to be negative. Under this assump-tion, the last component of each vector of the right-handside of (31) is the sum of the two largest values out of x, y,and z. Moreover, the other two components in each set isthe difference of the largest and the middle value from theminimum of the three. We also notice that these basicbuilding-block functions are symmetric with respect to thefirst and second components of the position vector xx of theirargument (see (27)). For example, when � is transformed by��1f1;2;4g, its support is determined by the region specified by

x > z, y > z, and xþ y < 0. Using these observations, wecan write the truncated power in terms of only one basicbuilding-block function:

T�ðx; y; zÞ ¼1

4�1

1

2ð~x� ~zÞ; 1

2ð~y� ~zÞ; 1

2ð~xþ ~yÞ

� �; ð32Þ

T�2ðx; y; zÞ ¼ 1

4�2

1

2ð~x� ~zÞ; 1

2ð~y� ~zÞ; 1

2ð~xþ ~yÞ

� �; ð33Þ

where

~x ¼ max ðx; y; zÞ ; ~y ¼ mid ðx; y; zÞ; and ~z ¼ min ðx; y; zÞ:ð34Þ

ENTEZARI ET AL.: PRACTICAL BOX SPLINES FOR RECONSTRUCTION ON THE BODY CENTERED CUBIC LATTICE 321

Fig. 6. The support of the truncated power function is the cone formed by

the three directions in �f1;2;3g. This volume is a disjoint union of the

supports of three � functions, each transformed by ��1f1;2;4g, ��1

f1;3;4g, and

��1f2;3;4g.

Page 10: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

5.5 Efficient Evaluation

Having obtained the explicit form of the truncated power,we shall apply the difference operator derived in Section 5.2to T�n in order to obtain M�n . This operation indicated as in(17) can be implemented as a convolution of the finite-difference operator sequence with the truncated power. Inthis section, we exploit the symmetries in the support ofthese box splines and find a region for the efficientevaluation of this convolution.

5.5.1 Region of Evaluation: 1D Example

To better understand the procedure, we use to derive thepolynomial pieces of the box spline, we first illustrate thisprocedure in 1D for a linear B-spline ð� ¼ ½ 1 � 1 �Þ. Inthis case, the Green’s function is � 1

2xsgnðxÞ, and thetruncated power is: T ðxÞ ¼ ðxÞ�. The difference operatoris represented in the Z-domain by rðzÞ ¼ �z�1 þ 2� z. Thelinear B-spline is obtained by the following convolution:

�ðxÞ ¼ �T ðxþ 1Þ þ 2T ðxÞ � T ðx� 1Þ:

The process of this convolution is illustrated in Fig. 7.Fig. 7a shows the truncated power ðxÞ�, Fig. 7b showsthe difference operator weights, Fig. 7c shows the resultof the convolution illustrated by overlaying the truncatedpowers at their respective difference operator sites, andFig. 7d shows the resulting B-spline. In Fig. 7d, the redband indicates the regions of the x-axis that are affectedby the convolution site at 1, the green band indicates theregion that is affected by the convolution site at 0, andthe blue band indicates the region that is affected by theconvolution site at �1. The symmetry of the support ofthe linear B-spline suggests an efficient evaluation in theinterval of [0, 1], where only one convolution sitecontributes to the values of the B-spline in this region.

Therefore, for an efficient evaluation of the linear B-spline, we would map any point in [�1; 1], the support ofthe B-spline, to the interval [0, 1] using the symmetry of itssupport. Once this mapping is performed, the B-spline canbe computed by evaluating the truncated power shiftedonly to the sites that affect this region. In the case of thelinear B-spline, there is only one site that affects this region,which is T ðx� 1Þ.

5.5.2 Region of Evaluation: Trivariate Case

Since our trivariate box splines are obtained through aprojection along the antipodal axis of a tesseract, they exhibitthe symmetries present in their polyhedral support, which isa rhombic dodecahedron. We exploit the symmetries present

within the rhombic dodecahedron to achieve an efficient

evaluation method for the linear and quintic box splines.First, we observe that a rhombic dodecahedron can be

decomposed into four nonoverlapping parallelepipeds in

two different ways. For a rhombic dodecahedron formed by

the vectors in � as in Fig. 4, one can construct four

parallelepipeds, each formed by three of the four vectors

from �. Alternatively, one can choose the negative direc-

tions from �� to decompose the rhombic dodecahedron

into four parallelepipeds. Therefore, we can confine the

evaluation region to one of these parallelepipeds, and the

evaluation at the other points can be inferred by symmetry.The support of T� (or T�2 ) is the positive cone of �f1;2;3g,

as in Fig. 6. A minimal number of convolution sites

contribute to the value of the box spline in the parallele-

piped that is cornered at the origin and formed by ���1, ���2,

and ���3. This parallelepiped contains the positive octant of

IR3 and is illustrated with blue edges in Fig. 8. Similarly, for

the quintic box spline, a minimal number of convolution

sites contribute to the parallelepiped formed by �2��1, �2��2,

and �2��3, which is illustrated in Fig. 9.

5.5.3 Linear Box Spline

The operation of the difference operator on the truncated

power is a sum of truncated power functions shifted and

weighted according to the difference operator sites, as in

Fig. 5a. As the support of the truncated power is limited to

the cone of the direction vectors in �f1;2;3g, only one of the

terms of the convolution contributes to the value of M� in

the parallelepiped that we deal with; this term is the one

obtained from shifting the T� to (1, 1, 1) and multiplying by

�1 the difference operator weight at this point (Fig. 5a).

None of the other difference operator sites affect this region

of interest, as illustrated in Fig. 8.Therefore, a point in the parallelepiped of focus is

characterized by ðx; y; zÞ ¼ ��f1;2;3gðt1; t2; t3Þ, where

0 � t1; t2; t3 < 1. Using the min/mid/max variables intro-

duced in (34), we have

322 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008

Fig. 7. Convolution of the truncated power ðxÞ� with the differenceoperator, a 1D example. (a) The truncated power ðxÞ�. (b) The discrete-difference operator weights. (c) The convolution by overlaying thetruncated power functions. (d) The resulting convolution yields the linearB-spline.

Fig. 8. When computing the operation of the difference operator on thetruncated power, only one term, which shifts the truncated power to (1,1, 1), affects the parallelepiped of interest formed by ��f1;2;3g. Thesupport of the truncated powers shifted to the other sites does notintersect this parallelepiped.

Page 11: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

M�ðx; y; zÞ ¼ ð�1ÞT�ðx� 1; y� 1; z� 1Þ

¼ � 1

4�1

1=2ð~x� 1� ð~z� 1ÞÞ;1=2ð~y� 1� ð~z� 1ÞÞ;1=2ð~x� 1þ ~y� 1Þ

0B@

1CA

¼ � 1

8~xþ ~y� 2ð Þ

¼ 1

41� 1

2ðmax ðx; y; zÞ þmidðx; y; zÞÞ

� �;

ð35Þ

which agrees with the geometric simplification we derived

in [13], normalized according to the sampling density of the

BCC lattice described by (1).

5.5.4 Quintic Box Spline

The same procedure as for the linear box spline can be used.

The difference operator for the quintic box spline is shown in

Fig. 5b. The support of the truncated power is limited to the

cone of the direction vectors in �f1;2;3g such that only eight of

the terms of the convolution contribute to the value ofM�2 in

the parallelepiped that we focus on; see Fig. 9. As we saw in

Section 4.4, the size of the support of the quintic box spline is

doubled from that of the linear box spline; therefore, the

parallelepiped of focus is now eight times the size of the

corresponding one in the linear-box-spline case; therefore, for

a point in the parallelepiped of focus characterized by

ðx; y; zÞ ¼ ��f1;2;3gðt1; t2; t3Þ, where 0 � t1; t2; t3 < 2, we have

M�2ðx; y; zÞ ¼ T�2ðx� 2; y� 2; z� 2Þ� 10T�2ðx� 1; y� 1; z� 1Þ � 2T�2ðx� 3; y� 1; z� 1Þ� 2T�2ðx� 1; y� 3; z� 1Þ � 2T�2ðx� 1; y� 1; z� 3Þþ 4T�2ðx� 2; y� 2; zÞ þ 4T�2ðx� 2; y; z� 2Þþ 4T�2ðx; y� 2; z� 2Þ;

where T�2 is defined as in (33). The shifts in the aboveequation are shifts to the difference operator sites, which arethe colored nodes in Fig. 9.

Using the symmetries of the rhombic dodecahedron, wecan confine the evaluation region to a tetrahedron that has avertex at the origin, and its apex (which is on the planexþ y ¼ 4) is a quarter of one face of the original parallele-piped since these faces are rhomboids and have fourfoldsymmetry. The rhomboid face of the parallelepiped of ourfocus lies in the plane specified by xþ y ¼ 4 in Fig. 10. Out offour possible choices, we pick this tetrahedron so that itcontains the positive octant completely. This region isspecified by its four bounding planes: xþ y < 4, x > y,y > z, and z > 0. This tetrahedron is illustrated by the darktetrahedron in Fig. 10. It is partitioned into four regionsformed by the intersections with four of the eight subpar-allelepipeds that constitute the original parallelepiped offocus. These subparallelepipeds are highlighted in green inFig. 11. These four regions are identified by

R1 :xþ y < 2; R2 : xþ y > 2; xþ z < 2;

R3 :xþ z > 2; yþ z < 2; R4 : yþ z > 2:

These regions are determined by posing the restriction ofbeing in the dark tetrahedron of focus, which is specified byx > y > z > 0 and each of the four subparallelepipeds thatintersect this tetrahedron. These subparallelepipeds arespecified by ��f1;2;3gtt, where the subparallelepiped ofregion R1 is specified by 0 � t1; t2; t3 < 1, the subparallele-piped of region R2 is specified by 0 � t1; t2 < 1 and1 � t3 < 2, the subparallelepiped of region R3 is specifiedby 0 � t1 < 1 and 1 � t2; t3 < 2, and the subparallelepipedof region R4 is specified by 1 � t1; t2; t3 < 2.

In each of these regions, illustrated in Fig. 11, the box

spline will be represented as a separate polynomial.RegionR1 is affected by all of the eight difference operator

sites in the parallelepiped of focus. RegionR2 is affected only

by four sites at (3, 1, 1), (2, 2, 2), (1, 3, 1), and (2, 2, 0). RegionR3

is affected by two sites at (3, 1, 1) and (2, 2, 2). Finally, regionR4

is affected only by (2, 2, 2). Therefore, we simplify the

polynomials in each region separately. Using constants

� :¼ 1=3840, � :¼ 1=1920, and :¼ 1=960, we have

ENTEZARI ET AL.: PRACTICAL BOX SPLINES FOR RECONSTRUCTION ON THE BODY CENTERED CUBIC LATTICE 323

Fig. 9. When computing the convolution of the difference operator andthe truncated power, only eight terms of the convolution affect theparallelepiped of interest formed by �2�f1;2;3g. The support of thetruncated power shifted to each site is the cone indicated by the grayregion. The support of the truncated power shifted to the otherconvolution sites does not intersect this parallelepiped.

Fig. 10. The region specified by xþ y < 4 and x > y > z > 0 is illustrated

with the dark tetrahedron. This tetrahedron is formed by connecting the

origin to the face, which is the triangle that is one quarter of the rhombic

face of the original rhombic dodecahedron.

Page 12: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

Region R1, M�2ðx; y; zÞ ¼

�ðxþ y� 4Þ3ð�3xy� 5z2 þ 2xþ 2yþ 20zþ x2 þ y2 � 24Þþ �ðxþ z� 2Þ3ðx2 � 9x� 3xzþ 10y� 5y2 þ 14þ 11zþ z2Þþ �ðyþ z� 2Þ3ð46� 30x� z� yþ 3zyþ 5x2 � y2 � z2Þ� ðxþ y� 2Þ3ðx2 þ x� 3xy� 5z2 þ y2 þ y� 6Þ:

ð36Þ

Region R2, M�2ðx; y; zÞ ¼

�ðxþ y� 4Þ3ð�3xy� 5z2 þ 2xþ 2yþ 20zþ x2 þ y2 � 24Þ��ðxþ z� 2Þ3ð�z2 � 11zþ 3xz� 14þ 5y2 þ 9x� 10y� x2Þ��ðyþ z� 2Þ3ð�46þ zþ 30xþ y� 3zy� 5x2 þ y2 þ z2Þ:

ð37Þ

Region R3, as illustrated in Fig. 11, is not a simple

tetrahedron with homogeneous regions with respect to the

site located at (3, 1, 1). When the truncated power is

centered at this site, two of the three components constitut-

ing the truncated power (see Fig. 6) intersect this region.

Therefore, there are two subcases for the contribution of the

truncated power centered at (3, 1, 1). However, the

contribution from (2, 2, 2) remains homogeneous as only

one of the three components of the truncated power (see

Fig. 6) contributes to this region:

Region R3Afx� z > 2g, M�2ðx; y; zÞ ¼

�ðxþ y� 4Þ3ð�x2 þ 8xþ 3xy� y2 þ 5z2 � 16� 12yÞ: ð38Þ

Region R3Bfx� z < 2g, M�2ðx; y; zÞ ¼

�ðxþ y� 4Þ3ð�3xy� 5z2 þ 2xþ 2yþ 20zþ x2 þ y2 � 24Þ��ðyþ z� 2Þ3ð30xþ z� 46� 3yzþ y� 5x2 þ y2 þ z2Þ:

ð39Þ

Region R4, M�2ðx; y; zÞ ¼

�ðxþ y� 4Þ3ð�3xy� 5z2 þ 2xþ 2yþ 20zþ x2 þ y2 � 24Þ:ð40Þ

Therefore, a fast evaluation of the box spline can beobtained for any ðx; y; zÞ by first transforming it to thetetrahedron of focus (the dark tetrahedron in Fig. 10) bytaking ðx; y; zÞ ¼ ðjxj; jyj; jzjÞ and then sorting ðx; y; zÞ ¼ ðmaxðx; y; zÞ;midðx; y; zÞ;minðx; y; zÞÞ. Once these transforms areperformed, we can test for the appropriateness of the abovefive regions, and the polynomial form can be evaluated. Wealso note that due to the explicit piecewise polynomial formabove and the relatively small support of these polynomialregions, our evaluation is numerically stable.

As a summary, we include the pseudocode for theevaluation of the quintic box spline referring to the regionsabove.

function fourdirection_boxspline(x, y, z)

% Transform the point to the tetrahedron of focus in Fig. 10x ¼ absðxÞ; y ¼ absðyÞ; z ¼ absðzÞ;sort x, y, z in decreasing order

% For the linear box spline, the apex of the

focus-tetrahedron is

% on the plane ðxþ yÞ ¼ 2: the boundary

if ððxþ yÞ > 2Þ return 0;

return ð2�ðxþ yÞÞ=8; % Linear case; see (35)

% For the quintic box spline the plane ðxþ yÞ ¼ 4 is the

boundary:

if ððxþ yÞ > 4Þ return 0;

if ððxþ yÞ < 2Þ % Region R1

return M�R1ðx; y; zÞ as in (36);

elseif ððxþ zÞ < 2Þ % Region R2

return M�R2ðx; y; zÞ as in (37);

elseif ððyþ zÞ < 2Þ % Region R3

if ððx�zÞ > 2Þ % Region R3A

return M�R3Aðx; y; zÞ as in (38);

else % Region R3B

return M�R3Bðx; y; zÞ as in (39);

else % Region R4

return M�R4ðx; y; zÞ as in (40);

end

6 RESULTS

In this section, we describe our experimental results andcompare the BCC sampling scheme to the traditionalCartesian sampling on volumetric data sets. In order toexamine the reconstruction schemes discussed in this paper,we have implemented a ray caster to render images fromthe Cartesian and the BCC sampled volumetric data sets.We have chosen the synthetic data set (Fig. 12) firstproposed in [21] as a benchmark for our comparisons.

324 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008

Fig. 11. Different regions of the evaluation domain are the intersection of

subparallelepipeds (highlighted in green) and the tetrahedron in focus

(black edges). The box spline is a homogeneous polynomial in each

region.

Page 13: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

The function was sampled at a resolution of 41� 41� 41 onthe Cartesian lattice and at an almost4 equivalent samplingon the BCC lattice of 32� 32� 64. The images in Fig. 13 arerendered using the quintic box spline on the BCC sampleddata sets and the tricubic B-spline on the Cartesian sampleddata sets. The analytical function was rendered by evaluat-ing the actual function proposed in [21]. The images in thesecond row in Fig. 13 document the corresponding errorimages that are obtained from the angular error thatoccurred in estimating the normal by central differencingon the reconstructed function. Although a direct reconstruc-tion of the normal is possible by using the analyticalgradient of the reconstruction kernel, we chose centraldifferencing with a relatively small step on the recon-structed function to approximate the true gradient. Centraldifferencing is commonly the method of choice in thevisualization domain, and there is no reason to believe thatit performs any better or worse than taking the analyticalderivative of the reconstruction kernel [26]. The gray valueof 255 (white) denotes an angular error of 0.3 radianbetween the computed normal and the exact normal. Thesuperiority of BCC sampling is apparent by comparing theimages in Figs. 13a and 13b, as these are obtained from anequivalent sampling density over the volume. Although thelobes are mainly preserved in the BCC case, they are moresmoothed out in the case of Cartesian sampling. This is alsoconfirmed by their corresponding error images in thesecond row in Fig. 13.

Typical volumetric data are scanned on and recon-structed from the Cartesian lattice. A suitable (antialiasing)prefiltering step is applied to limit the spectrum of thesampled data within the Nyquist region, which is theVoronoi cell of the reciprocal lattice. For the BCC lattice, thiscell is clearly different from the one of the Cartesian lattice.Therefore, the ultimate test of the BCC reconstruction onreal-life data sets cannot be performed until there are trueBCC sampling scanners available.

Nevertheless, we constructed comparable BCC andCartesian data sets by merely subsampling a fairly denselysampled Cartesian data set. Cartesian sampled data can bedownsampled onto a BCC lattice by retaining Cartesianpoints whose x, y, and z-coordinates are all odd or all even.Such a BCC lattice has a quarter of the sampling density ofthe original data set. To obtain an almost equivalentsubsampling ratio into a lower resolution Cartesian dataset, we choose a rational subsampling scheme where each

dimension of the original Cartesian data set is subsampledby 63/100 since ð63=100Þ3 ¼ 0:250047 1=4. To achieve thissubsampling, we first upsampled by zero-padding in thefrequency domain by a factor of 63. Then a subsampling ofthe rate 1/100 yields the properly subsampled Cartesianvolume.

As a first practical case, we chose the Boston Teapot dataset. The original data set has a resolution of 162� 162� 113.The subsampled Cartesian volume has a resolution of103� 103� 72, and the subsampled BCC volume has aresolution of 81� 81� 113. These volumes were renderedusing the tricubic B-spline on the Cartesian lattice and thequintic box spline on the BCC lattice in Fig. 14. Theseimages demonstrate the superiority of the BCC samplingscheme since the Cartesian undersampled data set devel-oped cracks on the surface of the teapot lid, whereas theBCC undersampled data set maintains the original contentwith higher fidelity. We also examined the carp fish dataset. The original data set has a resolution of 256� 256� 256.The subsampled Cartesian volume has a resolution of140� 140� 140, and the subsampled BCC volume has aresolution of 111� 111� 222. These volumes were alsorendered with the tricubic B-spline and the quintic boxspline, respectively; see Fig. 15. Again, these results showthe superiority of the BCC sampling scheme since theCartesian undersampled data set misses the fish tail andmost of the bones.

In [13], we have discussed the issues pertaining to linearorder interpolation. Although in the Cartesian volumes theydemonstrate grid-aligned artifacts, in BCC, they displaygirdering artifacts [4]. The result of linear box spline on the

ENTEZARI ET AL.: PRACTICAL BOX SPLINES FOR RECONSTRUCTION ON THE BODY CENTERED CUBIC LATTICE 325

4. Since a finite sampling of a volume cannot produce the exact samenumber of samples for the BCC and Cartesian sampling patterns, for ourdiscrete resolutions, we chose the resolutions conservatively in favor of theCartesian sampling. Therefore, the actual sampling density in the Cartesiansampled data sets is slightly higher than the BCC sampling density.

Fig. 12. The explicit function introduced by Marschner and Lobb.

Fig. 13. The Marschner-Lobb data set. (a) Sampled on the Cartesianlattice at a resolution of 41� 41� 41. (b) Sampled on the BCC lattice ata resolution of 32� 32� 64. The first row illustrates the volumerendering of the sampled data using the tricubic B-spline on theCartesian and our quintic box spline on the BCC data set. The secondrow illustrates the corresponding angular errors in estimating thegradient on the isosurface from the reconstruction process. An angularerror of 0.3 radian is mapped to white. The darker error image of theBCC data confirms smaller errors and a more accurate reconstruction.

Page 14: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

BCC and trilinear B-spline interpolation on the Cartesian

lattice are demonstrated in Fig. 16.We have also approximated the mean square error

existing in the volumes subsampled on BCC and Cartesianlattices. The error calculation was carried out by a randomsampling of the error and summing over these randompoints to approximate the L2 error integral. These experi-ments also confirmed that BCC subsampling is moreaccurate than the comparable Cartesian subsampling sincethe error of the Cartesian subsampled volume matched thatof the BCC volume with only about 70 percent of thenumber of samples. Further, we have examined the visualquality of the rendered images and found empiricalevidence that a BCC sampled volume with roughly about70 percent of the number of samples of a Cartesian volumeproduces equivalent visual quality [23].

Computational cost. The computational cost of thereconstruction is mainly due to computing the convolution

of the data values and the continuous-domain box-splinekernel. For trilinear and tricubic B-spline reconstructions onthe Cartesian lattice, a neighborhood of 2� 2� 2 ¼ 8 and4� 4� 4 ¼ 64 points fall inside the support of the kernels,respectively. Therefore, eight terms of the convolution inthe case of the trilinear and 64 terms in the case of thetricubic B-spline need to be computed. Computing theconvolution weights involves evaluating a third-degreetrivariate polynomial for the trilinear, whereas a ninth-degree trivariate polynomial needs to be evaluated for thetricubic B-spline. However, due to the tensor-productstructure of these kernels, the third-degree polynomial, inthe case of the trilinear interpolation, factors into a productof three first-degree univariate polynomials. Similarly, theninth degree trivariate polynomial of the cubic B-splinefactors into a product of three third-degree univariatepolynomials.

For linear and quintic box-spline reconstructions on theBCC lattice, a neighborhood of 4 and 32 points fall insidethe support of the kernels, respectively. Therefore, only fourterms of the convolution in the case of linear and 32 terms inthe case of the quintic box spline need to be computed.Computing the convolution weights involves evaluating afirst-degree trivariate polynomial for the linear box spline,whereas a fifth-degree trivariate polynomial needs to beevaluated for the quintic box spline. However, due to thestructure of the quintic kernel, the fifth-degree polynomialis factored into the product of a third-degree polynomialand a second-degree polynomial, as (27) can be factored interms of the z variable. All of the polynomial pieces of thequintic box spline listed in Section 5.5.4 are in the form ofthis building-block function.

Our experiments also support these predictions as theCartesian data set in Fig. 13a was rendered in 122.69 sec-onds, whereas the BCC data set in Fig. 13b was renderedin 63.75 seconds. These images were computed at aresolution of 500 � 500 on a dual processor (Dual-CoreAMD Opteron 280) machine running Linux with a GCCcompiler (4.0.2). A similar rendition using trilinearinterpolation on the Cartesian image took 21.49 seconds,whereas the linear box spline on the BCC took 11.99 sec-onds. Similar timing differences were observed on thereal-life data sets; the timings for these reconstructions aresummarized in Table 2. We note that for C0 reconstruc-tions, the speedups are less than a factor of two. Sincelinear interpolation is relatively light, a smaller portion ofthe rendering time is consumed by the reconstructionstep; hence, twice a speedup in reconstruction plays aslightly less significant role in the rendering time.

7 CONCLUSION

In this paper, for the first time, we have demonstrated thepracticality of box splines, as well as BCC lattice sampling.This is a significant contribution in two areas. First, it takesthe mathematically elegant construct of box splines andshows that they are practical and can be efficientlyimplemented. Although the derivation in this paper is fora specific class of box splines, we believe that its principlecan be extended to general box splines. Second, althoughBCC lattice sampling has been known to be theoreticallysuperior over (standard) Cartesian sampling, it has notreceived the attention it deserves from practitioners—mainly due to the absence of computational tools. This

326 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008

Fig. 14. The Boston teapot data set. (a) The original Cartesian sampleddata set with 2,965,000 samples reconstructed with the tricubic B-spline.(b) Undersampled on the Cartesian lattice with 763,848 samplesreconstructed with the tricubic B-spline. The surface shows an artifact.(c) Undersampled on the BCC lattice with 741,393 samples recon-structed with the quintic box spline.

Page 15: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

paper makes a major step in bringing the theoretical

advantages of the BCC lattice to a solid and efficient

practical foundation and should pave the way to a main-

stream adoption of alternative sampling structures. We plan

to investigate higher degree box splines for efficient

prefiltering (interpolation and quasi-interpolation); see [5]

for some recent advances on the hexagonal lattice.

ACKNOWLEDGMENTS

This work has been made possible in part by the support of

the Canadian Foundation of Innovation (CFI), the Natural

Science and Engineering Research Council of Canada

(NSERC), the Swiss National Science Foundation (Grant

#200020-109415), and the Center for Biomedical Imaging

(CIBM) of the Geneva-Lausanne Universities, the EPFL, and

the foundations Leenaards and Louis-Jeantet.

REFERENCES

[1] R.N. Bracewell, The Fourier Transform and Its Applications,McGraw-Hill Series in Electrical Eng. Circuits and Systems, thirded. McGraw-Hill, 1986.

[2] G. Burns, Solid State Physics. Academic Press, 1985.[3] I. Carlbom, “Optimal Filter Design for Volume Reconstruction

and Visualization,” Proc. IEEE Conf. Visualization (VIS ’93), pp. 54-61, Oct. 1993.

[4] H. Carr, T. Moller, and J. Snoeyink, “Artifacts Caused bySimplicial Subdivision,” IEEE Trans. Visualization and ComputerGraphics, vol. 12, no. 2, pp. 231-242, Mar./Apr. 2006.

[5] L. Condat and D. Van De Ville, “Quasi-Interpolating SplineModels for Hexagonally-Sampled Data,” IEEE Trans. ImageProcessing, vol. 16, no. 5, pp. 1195-1206, May 2007.

[6] J.H Conway and N.J.A. Sloane, Sphere Packings, Lattices and Groups,third ed. Springer, 1999.

[7] B. Csebfalvi, “Prefiltered Gaussian Reconstruction for High-Quality Rendering of Volumetric Data Sampled on a Body-Centered Cubic Grid,” Proc. IEEE Visualization Conf. (VIS ’05),pp. 311-318, 2005.

[8] M. Dæhlen, “On the Evaluation of Box Splines,” MathematicalMethods in Computer Aided Geometric Design, pp. 167-179, 1989.

[9] C. de Boor, K. Hollig, and S. Riemenschneider, “Box Splines,”Applied Mathematical Sciences, vol. 98, Springer, 1993.

[10] C. de Boor, “On the Evaluation of Box Splines,” NumericalAlgorithms, vol. 5, nos. 1-4, pp. 5-23, 1993.

[11] D.E. Dudgeon and R.M. Mersereau, Multidimensional Digital SignalProcessing, first ed. Prentice Hall, 1984.

[12] S.C. Dutta Roy and B. Kumar, “Digital Differentiators,” Handbookof Statistics, vol. 10, Elsevier, pp. 159-205, 1993.

[13] A. Entezari, R. Dyer, and T. Moller, “Linear and Cubic Box Splinesfor the Body Centered Cubic Lattice,” Proc. IEEE VisualizationConf. (VIS ’04), pp. 11-18, Oct. 2004.

[14] A. Entezari, T. Meng, S. Bergner, and T. Moller, “A GranularThree Dimensional Multiresolution Transform,” Proc. Euro-graphics/IEEE-VGTC Symp. Visualization (EuroVis ’06), pp. 267-274, May 2006.

[15] T.C. Hales, “Cannonballs and Honeycombs,” Notices of the AMS,vol. 47, no. 4, pp. 440-449, Apr. 2000.

[16] R.G. Keys, “Cubic Convolution Interpolation for Digital ImageProcessing,” IEEE Trans. Acoustics, Speech, and Signal Processing,vol. 29, no. 6, pp. 1153-1160, Dec. 1981.

[17] L. Kobbelt, “Stable Evaluation of Box Splines,” Numerical Algo-rithms, vol. 14, no. 4, pp. 377-382, 1997.

[18] H.R. Kunsch, E. Agrell, and F.A. Hamprecht, “Optimal Lattices forSampling,” IEEE Trans. Information Theory, vol. 51, no. 2, pp. 634-647, Feb. 2005.

[19] T. Theußl, O. Mattausch, T. Moller, and E. Groller, “Reconstruc-tion Schemes for High Quality Raycasting of the Body-CenteredCubic Grid,” Technical Report TR-186-2-02-11, Inst. ComputerGraphics and Algorithms, Vienna Univ. of Technology, Dec. 2002.

[20] T. Theußl, T. Moller, and E. Groller, “Optimal Regular VolumeSampling,” Proc. IEEE Visualization Conf. (VIS ’01), pp. 91-98, Oct.2001.

[21] S.R. Marschner and R.J. Lobb, “An Evaluation of ReconstructionFilters for Volume Rendering,” Proc. IEEE Conf. Visualization(VIS ’94), pp. 100-107, 1994.

ENTEZARI ET AL.: PRACTICAL BOX SPLINES FOR RECONSTRUCTION ON THE BODY CENTERED CUBIC LATTICE 327

Fig. 16. Trilinear B-spline versus linear box-spline reconstructions. (a)

and (b) The C0 reconstruction of the volumes in Fig. 15. (c) and (d) The

C0 reconstruction of the volumes in Fig. 14. (a) Cartesian. (b) BCC.

(c) Cartesian. (d) BCC.

Fig. 15. The carp fish data set. (a) The original Cartesian sampled data set with 16,777,216 samples reconstructed with the tricubic B-spline.(b) Undersampled on the Cartesian lattice with 2,744,000 samples reconstructed with the tricubic B-spline. (c) Undersampled on the BCC lattice with2,735,262 samples reconstructed with the quintic box spline.

Page 16: IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS… · 2009-11-03 · IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008 313. A

[22] J.H. McClellan, “The Design of Two-Dimensional Digital Filtersby Transformations,” Proc. Seventh Ann. Princeton Conf. InformationSciences and Systems, pp. 247-251, 1973.

[23] T. Meng, B. Smith, A. Entezari, A.E. Kirkpatrick, D. Weiskopf, L.Kalantari, and T. Moller, “On Visual Quality of Optimal 3DSampling and Reconstruction,” Proc. 33rd Graphics Interface Conf.(GI ’07), pp. 265-272, May 2007.

[24] R.M. Mersereau, “The Processing of Hexagonally Sampled Two-Dimensional Signals,” Proc. IEEE, vol. 67, no. 6, pp. 930-949, June1979.

[25] D.P. Mitchell and A.N. Netravali, “Reconstruction Filters inComputer Graphics,” Computer Graphics (Proc. ACM SIGGRAPH’88), vol. 22, pp. 221-228, Aug. 1988.

[26] T. Moller, R. Machiraju, K. Mueller, and R. Yagel, “A Comparisonof Normal Estimation Schemes,” Proc. IEEE Visualization Conf.(VIS ’97), pp. 19-26, Oct. 1997.

[27] T. Moller, K. Mueller, Y. Kurzion, R. Machiraju, and R. Yagel,“Design of Accurate and Smooth Filters for Function andDerivative Reconstruction,” Proc. IEEE Symp. Volume Visualization(VVS ’98), pp. 143-151, Oct. 1998.

[28] A.V. Oppenheim and R.W. Schafer, Discrete-Time Signal Processing.Prentice Hall, 1989.

[29] D.P. Petersen and D. Middleton, “Sampling and Reconstruc-tion of Wave-Number-Limited Functions in N-DimensionalEuclidean Spaces,” Information and Control, vol. 5, no. 4,pp. 279-323, Dec. 1962.

[30] G. Strang and G.J. Fix, “A Fourier Analysis of the Finite ElementVariational Method,” Constructive Aspects of Functional Analysis,pp. 796-830, 1971.

[31] P. Thevenaz, T. Blu, and M. Unser, “Interpolation Revisited,” IEEETrans. Medical Imaging, vol. 19, no. 7, pp. 739-758, July 2000.

[32] D. Van De Ville, T. Blu, M. Unser, W. Philips, I. Lemahieu, and R.Van de Walle, “Hex-Splines: A Novel Spline Family forHexagonal Lattices,” IEEE Trans. Image Processing, vol. 13, no. 6,pp. 758-772, June 2004.

[33] Wikipedia, Minkowski Addition, http://en.wikipedia.org/wiki/Minkowski_addition, 2007, June 2007.

Alireza Entezari received the BSc degree fromSimon Fraser University in 2001. He started hisundergraduate studies at Sharif University ofTechnology, Tehran, Iran, but in 1998, hetransferred to Simon Fraser University. He is aPhD candidate in the School of ComputingScience, Simon Fraser University. His researchfocus is currently on spline interpolation andapproximation of trivariate functions on regularsampling lattices.

Dimitri Van De Ville (M’02) received the MSdegree in engineering and computer sciencesand the PhD degree from Ghent University,Ghent, Belgium, in 1998 and 2002, respectively.He obtained a grant as a Research Assistantwith the Fund for Scientific Research FlandersBelgium (FWO). In 2002, he joined ProfessorM. Unser’s Biomedical Imaging Group at the�Ecole Polytechnique Federale de Lausanne(EPFL), Lausanne, Switzerland. In December

2005, he became responsible for the Signal Processing Antenna at theUniversity Hospital of Geneva, Geneva, as part of the Centre d’ImagerieBioMedicale (CIBM). His research interests include wavelets, statisticalanalysis, multidimensional splines, and applications in biomedicalimaging, such as functional magnetic resonance imaging, spectroscopy,electro-encephalography, and microscopy. He has been an associateeditor of the IEEE Transactions on Image Processing since February2006 and was previously an associate editor of IEEE Signal ProcessingLetters from 2004 to 2006. Since 2003, he has also been an editor andwebmaster of The Wavelet Digest. He was a cochair of the Wavelets XIIInternational Conference in August 2007, together with V. Goyal andM. Papadakis. He is a member of the IEEE.

Torsten Moller received the Vordiplom (BSc)degree in mathematical computer science fromHumboldt University of Berlin, Germany, and thePhD degree in computer and informationscience from Ohio State University in 1999. Heis an associate professor in the School ofComputing Science, Simon Fraser University.He is a codirector of the Graphics, Usability, andVisualization Laboratory and serves on theboard of advisors of the Centre for Scientific

Computing, Simon Fraser University. His research interests include thefields of visualization and computer graphics, especially the mathema-tical foundations thereof. His main focus is currently on tools for optimalsampling lattices (acquisition, interpolation, and multiresolution), as wellas the exploration of high-dimensional continuous data. The mainapplication areas are functional medical imaging, as well as simulationtools for computational science. He has been appointed as the vice chairfor publications of the IEEE Technical Committee of Visualization andGraphics. He is currently on sabbatical at the Ecole PolytechniqueFederale de Lausanne. He is a member of the IEEE, ACM,Eurographics, and CIPS. He has served on a number of programcommittees (including Eurographics and IEEE Visualization Confer-ences) and has been a paper cochair of the 2003 Graphics Interface(GI) Conference, as well as for the 2006 Workshop on Volume Graphics(VG ’06). He is currently serving as the general chair for the 2007Symposium on Volume Graphics (VG ’07), as well as the paper cochairfor the 2007 and 2008 EuroVis Conferences.

. For more information on this or any other computing topic,please visit our Digital Library at www.computer.org/publications/dlib.

328 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 14, NO. 2, MARCH/APRIL 2008