11
EUROGRAPHICS 2006 / E. Gröller and L. Szirmay-Kalos (Guest Editors) Volume 25 (2006), Number 3 Enhancing the Interactive Visualization of Procedurally Encoded Multifield Data with Ellipsoidal Basis Functions Yun Jang , Ralf P. Botchen , Andreas Lauser , David S. Ebert , Kelly P. Gaither § , Thomas Ertl Purdue University Rendering and Perceptualization Lab, Purdue University, USA Visualization and Interactive Systems, University of Stuttgart, Germany Texas Advanced Computing Center, University of Texas at Austin, TX, USA § Abstract Functional approximation of scattered data is a popular technique for compactly representing various types of datasets in computer graphics, including surface, volume, and vector datasets. Typically, sums of Gaussians or similar radial basis functions are used in the functional approximation and PC graphics hardware is used to quickly evaluate and render these datasets. Previously, researchers presented techniques for spatially-limited spherical Gaussian radial basis function encoding and visualization of volumetric scalar, vector, and multifield datasets. While truncated radially symmetric basis functions are quick to evaluate and simple for encoding op- timization, they are not the most appropriate choice for data that is not radially symmetric and are especially problematic for representing linear, planar, and many non-spherical structures. Therefore, we have developed a volumetric approximation and visualization system using ellipsoidal Gaussian functions which provides greater compression, and visually more accurate encodings of volumetric scattered datasets. In this paper, we extend previous work to use ellipsoidal Gaussians as basis functions, create a rendering system to adapt these basis func- tions to graphics hardware rendering, and evaluate the encoding effectiveness and performance for both spherical Gaussians and ellipsoidal Gaussians. Categories and Subject Descriptors (according to ACM CCS): I.3.3 [Computer Graphics]: Scientific Visualization, Ellipsoidal Basis Functions, Functional Approximation, Texture Advection 1. Introduction Most current visualization techniques are datagrid specific and do not allow scientists and researchers to interactively visualize various unstructured and scattered datasets in a single system on their desktop computers. As one solution, Jang et al. [JWH 04] and Weiler et al. [WBS 05] developed an interactive visualization and feature detection system for scalar, vector and multifield data using radial basis func- tions (RBFs). RBFs have been widely used as basis func- tions to approximate datasets, and the function is constructed as sums of RBFs. Mathematically, for given data samples P j =( x j , Y j ), j = 1, ..., N, where the values x j are the spatial {jangy|ebertd}@purdue.edu {botchen|lauseras|ertl}@vis.uni-stuttgart.de § [email protected] locations and the values Y j are the data values that exist at the corresponding spatial locations, the data values can be approximated with a function f ( x) defined as f ( x)= L i=1 λ i φ x, μ i , σ 2 i , (1) where L is the number of basis functions, λ i the weight, μ i the center, and σ 2 i the variance of a single basis function. With this mathematical formula, λ , μ and σ 2 are optimized to find the best approximation of the original data values. Jang et al. [JWH 04] and Weiler et al. [WBS 05] used spatially-limited spherical Gaussian RBFs, since the trun- cated radially symmetric basis functions are quick to eval- uate and simple for encoding optimization. However, spher- ical Gaussians are not the most appropriate choice for volu- metric data that is not radially symmetric and they are espe- c The Eurographics Association and Blackwell Publishing 2006. Published by Blackwell Publishing, 9600 Garsington Road, Oxford OX4 2DQ, UK and 350 Main Street, Malden, MA 02148, USA.

Enhancing the Interactive Visualization of Procedurally ...web.simmons.edu/~weigle/INTERO_METADATA_LANGU/Jang_Enhancing...Enhancing the Interactive Visualization of Procedurally Encoded

Embed Size (px)

Citation preview

Page 1: Enhancing the Interactive Visualization of Procedurally ...web.simmons.edu/~weigle/INTERO_METADATA_LANGU/Jang_Enhancing...Enhancing the Interactive Visualization of Procedurally Encoded

EUROGRAPHICS 2006 / E. Gröller and L. Szirmay-Kalos(Guest Editors)

Volume 25 (2006), Number 3

Enhancing the Interactive Visualization of ProcedurallyEncoded Multifield Data with Ellipsoidal Basis Functions

Yun Jang†, Ralf P. Botchen‡, Andreas Lauser‡, David S. Ebert†, Kelly P. Gaither §, Thomas Ertl‡

Purdue University Rendering and Perceptualization Lab, Purdue University, USA †

Visualization and Interactive Systems, University of Stuttgart, Germany ‡

Texas Advanced Computing Center, University of Texas at Austin, TX, USA §

AbstractFunctional approximation of scattered data is a popular technique for compactly representing various types ofdatasets in computer graphics, including surface, volume, and vector datasets. Typically, sums of Gaussiansor similar radial basis functions are used in the functional approximation and PC graphics hardware is usedto quickly evaluate and render these datasets. Previously, researchers presented techniques for spatially-limitedspherical Gaussian radial basis function encoding and visualization of volumetric scalar, vector, and multifielddatasets. While truncated radially symmetric basis functions are quick to evaluate and simple for encoding op-timization, they are not the most appropriate choice for data that is not radially symmetric and are especiallyproblematic for representing linear, planar, and many non-spherical structures. Therefore, we have developed avolumetric approximation and visualization system using ellipsoidal Gaussian functions which provides greatercompression, and visually more accurate encodings of volumetric scattered datasets. In this paper, we extendprevious work to use ellipsoidal Gaussians as basis functions, create a rendering system to adapt these basis func-tions to graphics hardware rendering, and evaluate the encoding effectiveness and performance for both sphericalGaussians and ellipsoidal Gaussians.

Categories and Subject Descriptors (according to ACM CCS): I.3.3 [Computer Graphics]: Scientific Visualization,Ellipsoidal Basis Functions, Functional Approximation, Texture Advection

1. Introduction

Most current visualization techniques are datagrid specificand do not allow scientists and researchers to interactivelyvisualize various unstructured and scattered datasets in asingle system on their desktop computers. As one solution,Jang et al. [JWH∗04] and Weiler et al. [WBS∗05] developedan interactive visualization and feature detection system forscalar, vector and multifield data using radial basis func-tions (RBFs). RBFs have been widely used as basis func-tions to approximate datasets, and the function is constructedas sums of RBFs. Mathematically, for given data samplesPj = (�x j,Yj), j = 1, ...,N, where the values�x j are the spatial

† {jangy|ebertd}@purdue.edu‡ {botchen|lauseras|ertl}@vis.uni-stuttgart.de§ [email protected]

locations and the values Yj are the data values that exist atthe corresponding spatial locations, the data values can beapproximated with a function f (�x) defined as

f (�x) =L

∑i=1

λiφ(�x,�μi,σ2

i

), (1)

where L is the number of basis functions, λi the weight, μithe center, and σ2

i the variance of a single basis function.With this mathematical formula, λ , μ and σ2 are optimizedto find the best approximation of the original data values.

Jang et al. [JWH∗04] and Weiler et al. [WBS∗05] usedspatially-limited spherical Gaussian RBFs, since the trun-cated radially symmetric basis functions are quick to eval-uate and simple for encoding optimization. However, spher-ical Gaussians are not the most appropriate choice for volu-metric data that is not radially symmetric and they are espe-

c© The Eurographics Association and Blackwell Publishing 2006. Published by BlackwellPublishing, 9600 Garsington Road, Oxford OX4 2DQ, UK and 350 Main Street, Malden,MA 02148, USA.

Page 2: Enhancing the Interactive Visualization of Procedurally ...web.simmons.edu/~weigle/INTERO_METADATA_LANGU/Jang_Enhancing...Enhancing the Interactive Visualization of Procedurally Encoded

Y. Jang, R. P. Botchen, A. Lauser, D. S. Ebert, K. Gaither, T. Ertl / EBF

Figure 1: Visual comparison of basis functions using anoil reservoir data set. The left image is the result usingthe spherical Gaussians, the middle image using the axis-aligned ellipsoidal Gaussians and the right image using thearbitrary directional Gaussians.

cially problematic for representing linear, planar, and manynon-spherical structures in volumes. For example, a cylindri-cal structure can be approximated using numerous sphericalGaussians but the quality of the approximation depends onthe data points distribution around the structure. In the worstcase, using many spherical Gaussians can create visual arti-facts in the visualization, as shown in Figure 1.

In this work, we have developed a volumetric approxima-tion and visualization system using ellipsoidal basis func-tions (EBFs), specifically ellipsoidal Gaussians, that pro-vides greater compression and more visually accurate en-coding of volumetric scattered datasets. Although this vol-umetric approximation using EBFs requires more computa-tion during optimization and the visualization requires moretexture lookups than the approximation using RBFs, theapproximation encodes volumetric datasets with a smallernumber of basis functions, provides more accurate visualiza-tion, and provides quick evaluation in rendering from theirmore compact influences. We study RBFs and EBFs to ana-lyze the quality of the volumetric approximation and com-pare approximation results both statistically and visually.Moreover, we use two error measurements during optimiza-tion to demonstrate the importance and effects of the choiceof error metrics on the encoding and visualization. In ad-dition to the volumetric approximation, we have developeda volume visualization and texture advection system usingencoded datasets with both RBFs and EBFs for vector fieldvisualizations.

In this paper, we present our new functional approxima-tion using ellipsoidal Gaussians and its visualization with anew texture layout for the ellipsoidal Gaussians. We beginby presenting related work in Section 2 and the motivationfor using ellipsoidal Gaussians in Section 3. Our new volu-metric approximation is presented in Section 4 and our GPUbased rendering using the newly encoded data including datastructure, texture layout, and texture-based flow visualiza-tion techniques is presented in Section 5. Finally, our resultsare shown in Section 6.

2. Related Work

Radial basis functions (RBFs) are radially symmetric func-tions and have been widely used for surface and functionalapproximations due to the symmetric property in broad re-search areas, including surface modeling, geometric model-ing, spatial interpolation in GIS applications, and visualiza-tion of 3D scattered data [Har90, SPOK95, MM99, Gos00,CBC∗01, TO02, ZRP02].

Researchers have also proposed several different polyno-mial functions to approximate the construction of soft ob-jects [WMW86], or solid geometry applied to implicit sur-faces [KS97]. Recently, Chen [Che05] compared severaldifferent radial basis functions that are suited to combinepoint clouds and conventional volume objects. Jang et al.[JWH∗04] and Weiler et al. [WBS∗05] presented techniquesfor spatially-limited spherical Gaussian radial basis functionencoding and visualization of volumetric scalar, vector, andmultifield datasets.

To provide a greater variety of functional approximationand modeling options, researchers proposed to use ellip-soids instead of RBFs. Ellipsoids have been used in manyresearch areas, such as segmentation [OCK05], object detec-tion [GS00], and filtering of noisy data [SBS05]. In the areaof data fitting, Calafiore [Cal02] proposes an approxima-tion of n-dimensional data using ellipsoidal primitives andshowed that a "distance-of-squares" geometric error crite-rion gives stability for Gaussian noise. This approach, how-ever, is limited to several hundreds of points because ofnumerical problems. Li et al. [LWP∗04] proposed a fittingmethod using ellipsoids for implicit surfaces with a limitednumber of data points. Recently Huang et al. [HFBC06]showed a shape-based approach for thin structure segmen-tation and visualization in biomedical images using an ellip-soidal Gaussian model.

A common approach to visualize both structured and scat-tered flow data is texture advection. The basic idea is torepresent a dense aggregation of particles, or a sparse, butlarger dye pattern by a texture and to transport them alongthe underlying steady flow, as proposed in [CL93, MB95].More recently published work extended this concept to un-steady 2D flows [JEH00, vW02]. A different related tech-nique has been introduced that addresses the problem of vi-sualizing uncertainty in flow [BWE05]. A hybrid techniquewas also proposed by Weiskopf [WE04] that can be appliedto curved surfaces, and evaluates 3D vector fields [LBS03].An overview of the state-of-the-art in texture based flow vi-sualization techniques is given in Laramee et al. [LHD∗04].

3. Spherical and Ellipsoidal Gaussians

As previously mentioned, the radial basis function (RBF)is a radially symmetric function where the RBF volumehas a spherical shape. For volume visualization, several re-searchers [JWH∗04, WBS∗05] have used spherical Gaus-

c© The Eurographics Association and Blackwell Publishing 2006.

588

Page 3: Enhancing the Interactive Visualization of Procedurally ...web.simmons.edu/~weigle/INTERO_METADATA_LANGU/Jang_Enhancing...Enhancing the Interactive Visualization of Procedurally Encoded

Y. Jang, R. P. Botchen, A. Lauser, D. S. Ebert, K. Gaither, T. Ertl / EBF

sians as basis functions. The spherical shaped basis func-tion, however, has a limitation in fitting long, high-gradientshapes, for example cylindrical shapes. The radius mightreach the shortest boundary of the area and require manysmall RBFs to fit one long shape. The left image in Figure 1visually displays this artifact for spherical RBFs.

In order to reduce these artifacts, we change the spheri-cal Gaussians to ellipsoidal Gaussians, which are ellipsoidalbasis functions (EBF). There are two kinds of ellipsoidalGaussians: axis-aligned and arbitrary directional EBFs. Themiddle image in Figure 1 is the result of using the axis-aligned ellipsoidal Gaussian. As seen in Figure 1, the nar-row shape is well represented by the ellipsoidal Gaussian.Additionally, only a small number of cells is needed for ren-dering when using the octree data structure for spatial subdi-vision. Cuboids are used to generate the spatial cell distribu-tion rather than cubes and they are aligned according to theinfluences along the axes. A comparison of these three basisfunctions is shown in Figure 2. This Figure shows a long di-agonal data distribution and the influences of the three basisfunctions are drawn overlaid on the data.

Using the Mahalanobis distance, the ellipsoidal Gaussianbasis function in 3D space can be represented in a matrixform as follows:

φ(�x) = exp

(−

12(�x−�μ)T V−1(�x−�μ)

)(2)

V−1 is positive definite and is defined by a rotation matrix,R, and a scalar matrix, S, as following.

V−1 =

⎡⎣a1 a4 a6

a4 a2 a5a6 a5 a3

⎤⎦ = R ·S−1 ·S−1 ·RT

�x is a coordinate vector, [x y z]T and �μ is the center vector ofan ellipsoidal Gaussian, [μx μy μz]

T . Moreover, for a rotationmatrix, R−1 = RT and for a scaling matrix ST = S.

Since all rotation angles are set to zero for the axis alignedellipsoidal Gaussians, off-diagonal components in V−1 arezero and diagonal components are positive, a1 = 1

σ 2x

, a2 =1σ 2

y, a3 = 1

σ 2z

, and a4 = a5 = a6 = 0. Therefore, the axis aligned

ellipsoidal Gaussian can be represented as

φ(x,y,z) = exp

{−

(x−μx)2

2σ2x

−(y−μy)

2

2σ2y

−(z−μz)

2

2σ2z

}(3)

On the other hand, in the arbitrary directional ellipsoidalGaussian, off-diagonal components may not be zero. There-fore, we consider components of S and R instead of the di-rect form, Equation 3, to make sure that V−1 is positive def-inite.

4. Functional Approximation using EllipsoidalGaussians

Functional approximation is used in this paper to find thebest parameters of the basis functions to fit the data values as

Figure 2: Comparison of basis functions. Grey data is ap-proximated by three basis functions. RBF (left), axis alignedEBF (middle), and arbitrary directional EBF (right). The in-fluence range of each basis function is shown as blue arrowsand black curve for volume subdivison in Section 4.4. Redarrows indicate the orientation of arbitrary directional EBF.

closely as possible. In Section 1, a functional approximationusing RBFs is presented. For the extension of RBFs to EBFs,we use the covariance V rather than the single variance in thefunctional approximation. The function using V is redefinedas

f (�x) =L

∑i=1

λiφ (�x,�μi,Vi) (4)

The parameters include centers (μ), covariances (V), andweights (λ ). Our approach to the functional approximation isbased on previous RBF work [JWH∗04,WBS∗05]. However,EBF parameters are optimized in this work and the numberof parameters is larger than the number of RBF parameters.In the 3D scalar approximation, we add 2 more parametersfor the axis aligned ellipsoidal Gaussians and 5 more pa-rameters for the arbitrary directional ellipsoidal Gaussians,compared to spherical Gaussians. For 3D vector approxima-tion, 6 more parameters are needed for the axis aligned el-lipsoidal Gaussians and 15 more parameters for the arbitrarydirectional ellipsoidal Gaussians.

For an algorithm to find the best parameters for the ap-proximation, we use nonlinear optimization. In the algo-rithm, we quickly compute reasonable initial starting param-eters using the given data (Section 4.1). This provides betterresults in the nonlinear optimization and we insert these ini-tial parameter values into the main optimization algorithm(Section 4.2). In the algorithm, we find the parameters foronly a single basis function at each iteration. Once the pa-rameters that reduce the approximation error the most arefound, we remove the influence of the basis function fromthe data values and compute the residual functional values(errors) using either the L2-norm or the H1-norm (Section4.3). These residuals are then used in the next iteration. Weiterate the above approximation system until our error tol-erance is satisfied. We use an error of 5% of the maximumdata value as our error tolerance. However, RMS errors aretypically less than 1-3% in the resulting datasets. Once thebest functional approximation is found, we divide the vol-ume into several small subvolumes using an adaptive oc-

c© The Eurographics Association and Blackwell Publishing 2006.

589

Page 4: Enhancing the Interactive Visualization of Procedurally ...web.simmons.edu/~weigle/INTERO_METADATA_LANGU/Jang_Enhancing...Enhancing the Interactive Visualization of Procedurally Encoded

Y. Jang, R. P. Botchen, A. Lauser, D. S. Ebert, K. Gaither, T. Ertl / EBF

tree structure based on the basis function distribution (Sec-tion 4.4). This allows us to improve rendering speed. More-over, this algorithm can be applied to both scalar and vectordatasets (Section 4.5).

4.1. Initial Parameter Approximation

The initial starting parameter values for nonlinear optimiza-tion are important for the optimization convergence. In thissection, we describe how we compute the initial starting EBFparameter values.

The starting center value is set to the maximum data valuepoint and the weight is set to the data value at this center.Since we compute residuals after every iteration, the residu-als become the new data values in the next iteration. There-fore, the maximum error point is the maximum value datapoint. The position of this data point is set to the center ofthe basis function and the maximum value at the point is setto the weight of the basis function for both RBF and EBF.

For RBF variances, the data values are used and the vari-ance is written as

σ2i j =

r2

2 ln(∣∣∣ Yi

Yj

∣∣∣) , j = 1, ...,N , (5)

where Yi is the data value at the center and Yj is the valueat the jth data point assuming that sgn(Yi) = sgn(Yj) and|Yi| > |Yj|. r is defined as |x j − μi| and N is the number ofpoints. We then average σ2

i j , σ2i = ∑ j σ2

i j/N to compute theapproximate variance.

However, the variances of axis aligned EBFs are com-puted using both data values and gradients since there ismore than one unknown variance in the axis aligned EBF.By taking derivatives of Equation 3, we approximate the xdirection variance as follows:

σ2xi j

= −(x j −μxi) ·Yj

dYj/dx j, j = 1, ...,N (6)

The y and z direction variances can be computed similarly.We then average these variances for the approximate vari-ances.

For the arbitrary directional EBFs, we use the above ap-proximated variances and set the off-diagonal componentsto zero, which means that all rotation angles are zero, for theinitial parameter values for the nonlinear optimization.

4.2. Nonlinear Optimization

Once all approximate parameters are computed, we insertthe parameters into the nonlinear optimization algorithm. Inthis work, we use the Levenberg Marquardt [MNT99] ap-proach to minimize sum squared error. In this approximationalgorithm, we optimize all parameters at the same time. Weoptimize the parameters of the axis aligned EBFs in the sameway as we optimize RBFs, since off-diagonal components in

the covariance matrix are all zero. However, for arbitrary di-rectional EBFs, we optimize the scaling components in thescaling matrix and the angles in the rotation matrix insteadof optimizing a1, . . . ,a6 for 3D datasets since the result fromoptimization of a1, . . . ,a6 might not construct a real covari-ance matrix.

4.3. Error Measurement

Even though EBFs are good basis functions for any struc-tural dataset after optimization, it can still show visible ar-tifacts. Therefore, we use two different cost functions inthe optimization and compare these two cost functions. Wenormally use the L2-norm based cost function (Equation 7)which only uses the data values. For increased visual accu-racy, we pre-approximate gradients at each data point andadd them to the cost function, using the H1-norm based costfunction (Equation 8) [GE98] in order to reduce the visualartifacts. Comparison results between these two cost func-tions are shown in Figure 8 and 9.

ψ =12

N

∑j=1

(f (�x j)−Yj

)2(7)

ψ =12

N

∑j=1

{(f (�x j)−Yj

)2+

(∂ f (�x j)

∂x−∂Yj

∂x

)2

+

(∂ f (�x j)

∂y−∂Yj

∂y

)2

+

(∂ f (�x j)

∂ z−∂Yj

∂ z

)2 } (8)

4.4. Volume Subdivision for Rendering

In order to render RBFs and EBFs faster, we utilize an adap-tive octree volume subdivision based on the influence ofRBFs and EBFs. For RBFs, influence ranges are the samein all directions, but EBFs have different influence ranges indifferent directions. Figure 2 shows the influence ranges ofRBFs and EBFs. The influence radii of RBFs are computedas

ri = σi ·√

2 · ln(|λi|/ε)

where ε is a user defined error tolerance. Therefore, sub-divided volumes are cubes. For the axis aligned EBFs, theinfluence range in x direction can be computed similarly as

rxi = σxi ·√

2 · ln(|λi|/ε)

The influence ranges in y and z direction can be computedsimilarly to the above. Note, that the influence range is acuboid, but not just a cube. The influence range of the arbi-trary directional EBF in 3D can be computed in each direc-tion as follows:

r2xi

=a2i a3i −a2

5i

|V−1|·2 · ln

(|λi|

ε

)

r2yi

=a3i a1i −a2

6i

|V−1|·2 · ln

(|λi|

ε

)

c© The Eurographics Association and Blackwell Publishing 2006.

590

Page 5: Enhancing the Interactive Visualization of Procedurally ...web.simmons.edu/~weigle/INTERO_METADATA_LANGU/Jang_Enhancing...Enhancing the Interactive Visualization of Procedurally Encoded

Y. Jang, R. P. Botchen, A. Lauser, D. S. Ebert, K. Gaither, T. Ertl / EBF

r2zi

=a1i a2i −a2

4i

|V−1|·2 · ln

(|λi|

ε

)Note, this influence range is also a cuboid, but not just aparallelepiped.

To speed rendering, we use the volume subdivison algo-rithm proposed by Jang et al. [JWH∗04]. We can obtain thedistribution of basis functions using the influence ranges andcan divide a volume into smaller subvolumes by setting amaximum number of basis functions rendered in a subvol-ume using an adaptive octree. Therefore, each subvolumecontains less than the maximum number of basis functions,increasing rendering performance.

4.5. Scalar vs. Vector Encoding

Scalar data approximation is performed using the above ap-proach since there is only one value at each data point.Therefore, the maximum data point is set to be a center ofan ellipsoidal Gaussian and its value at the point is set tobe a weight of the ellipsoidal Gaussian. Variance terms areapproximated using either Equation 5 or 6 according to thebasis functions. We then optimize all these parameters us-ing Levenberg Marquardt optimization. For the 3D sphericalGaussian, 5 parameters (center, weight, and variance) are op-timized at the same time, 7 parameters for the axis alignedellipsoidal Gaussians, and 10 parameters for the arbitrary di-rectional ellipsoidal Gaussians.

While scalar data can be approximated simply, vectordata needs further treatment in order to optimize all vectorcomponents at the same time. Since we choose one centerwith different weights and different variances between vec-tor components, we set the center at the point that has themaximum L2 norm of the vector and each weight of eachvector component to be its own vector component value. Wethen compute approximate variances for each vector compo-nent similar to the above algorithm. Afterwards, we optimizeall approximated parameters at the same time. In 3D, thereare 9 parameters for the spherical Gaussians, 15 parametersfor the axis aligned ellipsoidal Gaussians, and 24 parametersfor the arbitrary directional ellipsoidal Gaussians.

Once vector data encoding is complete, we subdivide thevolume according to the maximum influence vector com-ponent; otherwise, we might lose some of the vector com-

Table 1: Statistical functional approximation results. Eachnumber indicates the number of basis functions for RBFs (I),axis aligned EBFs (II) and arbitrary directional EBFs (III).

Dataset I II III

Marschner Lobb 2,092 208 112Convection(70th) 237 101 90

Bluntfin 891 264 282Oil Reservoir 59 13 13

Water Channel (4th) 895 293 299

Axis Alligned EBF

or RBF Parameters

μ i

Tex 1

σi

Tex 2

λ i

Tex 3

Arbitrary Directional

EBF Parameters

μ i

Tex 1

Tex 2ax1,i Tex 3

ax2,i Tex 4ay1,i

Fragment

Program

Tex 5ay2,i Tex 6

az1,i Tex 7az2,i

λ i

Tex 8

Figure 3: Texture layout and parameter transfer to the ren-dering system depends on the chosen RBF/EBF encoding.

ponents. The resulting size from our subdivision approachtends to be larger for vector data.

5. GPU-based Rendering

With the continuing evolution and improvement in perfor-mance of graphics hardware, slice based volume render-ing techniques that use GPU-support, have positioned them-selves as an efficient tool for imaging and the visual analysisof scalar and multivariate fields.

For EBF-based volume visualization, we use a view-aligned slicing approach to reconstruct the volume data foreach fragment. The major difference to standard slice basedtechniques is due to our cell based data structure, which isexplained in section 5.1. The basic principle of our render-ing system is shown in Figure 3. All necessary information,like the coefficients of the basis functions, are stored in 2Dtexture maps and get uploaded to the texture memory of thegraphics card. For each pre-computed slice polygon, the vol-ume values are also reconstructed per rasterized fragment,depending on the chosen algorithm, and blended into theframe buffer with back-to-front blending.

Several different rendering techniques that use GPU-based reconstruction of encoded multifield volumetric data,like volume-rendered isosurfaces, shock detection, vortexdetection and helicity computation have been introducedin [WBS∗05]. In this work, we present our new EBF-basedvisualization techniques for those feature extraction methodswith a focus on texture based flow visualization. Further, weshow their benefits in accuracy of reconstruction and perfor-mance in rendering compared to radial basis functions.

5.1. Data Structure and Texture Layout

The rendering speed of the system highly depends on thenumber of basis functions that have to be decoded per frag-

c© The Eurographics Association and Blackwell Publishing 2006.

591

Page 6: Enhancing the Interactive Visualization of Procedurally ...web.simmons.edu/~weigle/INTERO_METADATA_LANGU/Jang_Enhancing...Enhancing the Interactive Visualization of Procedurally Encoded

Y. Jang, R. P. Botchen, A. Lauser, D. S. Ebert, K. Gaither, T. Ertl / EBF

Figure 4: Comparison of water channel data with RBF(top), axis aligned EBF (middle), and arbitrary directionalEBF (bottom).

ment. To expedite this process, we exploit the benefits of thefollowing two facts. First, reducing number of basis func-tions, without losing quality, has a positive effect on the ren-dering time. We achieve this reduction of basis functionsby our newly proposed encoding, as described in Section 3.Second, the volume expansion of most basis functions doesnot cover the whole volume and, therefore, only influencescertain fragments. We use a hierarchical octree-like spacepartitioning. For each octree-cell, a subset of basis functionsis stored, namely, only those which affect the volume en-closed by the cells boundary. Intersecting each slice polygonwith all cells, and then rasterizing, in the fragment process-ing stage, for each fragment the appropriate cell is knownand can be directly accessed in the texture. This highly re-duces the number of EBFs that have to be evaluated per frag-ment.

An elaborate texture layout was designed to store the co-efficients of all basis functions successively per cell, so that itcan be easily accessed during the fragment processing stage.For every cell, an index points to the location of the first ba-sis function in the texture. A second index stores the numberof basis functions contained in the cell, and thus triggers thenumber of dynamic loops inside the shader. The substan-tial layout as described in [JWH∗04] was maintained andextended to fit the need of storing more parameters for thearbitrary directional EBFs. With vector data that has beenencoded with arbitrary directional EBFs, a set of eight tex-tures is needed to store all parameters, as illustrated in Fig-ure 3. In particular, six RGB textures are needed for all co-variance matrix elements a1,i, ...,a6,i. One RGB texture isused to store all centers μi and one RGB texture is used forthe weights λi.

In the rendering stage, back-to-front blending is applied.Due to that we can not render all cells consecutively, sincethis would lead to blending artifacts, because the cells arenot stored as a depth sorted list. Even if they were, it wouldstill lead to artifacts on cell boundaries. A better way is to

render slice by slice, since the exact depth and order of allslices is known, so we only need to compute the coordinatesof the intersection polygon for each slice. For each intersec-tion polygon, the fragment shader is called with a pointerto the first basis function in the texture and the number offunctions to evaluate. Although the hierarchical structure re-duces the number of evaluated functions, and thus improvesrendering speed, it can also slow down the rendering if thehierarchical subdivision level is chosen too high. This effectis a result of the small call overhead that is needed for therender call of every intersection polygon. For too many in-tersection polygons, this exceeds the gain of reducing theamount of evaluated basis functions.

5.2. Texture-based Flow Visualization

For a global visualization of flow fields, texture advectionis a well suited and common technique, that is capable ofrepresenting the underlying flow with a low density up to ahigh density of particles. The transport is based on a semi-Lagrangian scheme, which is briefly described below.

The particles that are injected into the flow are representedon a regular grid, namely a texture, which is denoted as theproperty field ρ(�x). From the Eulerian point of view, the po-sition of a particle is implicitly given by the location of thecorresponding texel in the property field. Particles are trans-ported along streamlines for steady, or along pathlines forunsteady vector fields. Therefore, the Lagrangian formula-tion of the underlying equation of motion,

d�x(t)dt

=�v(�x(t), t) ,

can be integrated to compute the pathline of an advectedmassless particle,

�x(t1) =�x(t0)+∫ t1

t0�v(�x(t), t)dt , (9)

where �v(�x(t), t) is the vector field and t denotes time. Thisequation can be used to compute the semi-Lagrangian trans-port as in [JEH01,Sta99]. Starting from the current time stept0, an integration backwards in time according to Eq. (9) pro-vides the position at the previous time step�x(t0−Δt). There-fore, first-order Euler integration typically provides suffi-cient accuracy:

�x(t0 −Δt) =�x(t0)−Δt�v(�x(t0), t0) .

If higher accuracy is needed, more sophisticated, higher-order integration schemes, e.g. Runge-Kutta can be similarlyutilized. The property field ρ(�x) is evaluated at this previouslocation to access the particle that is transported to the cur-rent position. It can be implemented as a backward texturelookup to compute particle positions at a previous time stepx(t −Δt). First order Euler integration leads to

ρ(�x(t0), t0) = ρ(�x(t0 −Δt), t0 −Δt) . (10)

Bilinear interpolation is applied to reconstruct the property

c© The Eurographics Association and Blackwell Publishing 2006.

592

Page 7: Enhancing the Interactive Visualization of Procedurally ...web.simmons.edu/~weigle/INTERO_METADATA_LANGU/Jang_Enhancing...Enhancing the Interactive Visualization of Procedurally Encoded

Y. Jang, R. P. Botchen, A. Lauser, D. S. Ebert, K. Gaither, T. Ertl / EBF

# dynamic loop over all EBFs of the current cellREP numfunc;

# fetch center position, compute distanceTEX cDist, texPos.xyxx, texture[1], RECT;

SUB cDist, fragment.texcoord[0], cDist;

# fetch elements 1 - 3 of the covariance matrix per vectorTEX var_X1, txPos.xyxx, texture[2], RECT;

# fetch elements 4 - 6 and the weightsTEX var_X2, txPos.xyxx, texture[3], RECT;

TEX wt.xyz, txPos.xyxx, texture[4], RECT;

# compute the exponent with all covariance termsMUL tmp, cDist, cDist;

DP3 expVal.x, tmp, var_X1;

# all var_X2 terms are pre-multiplied by twoMUL tmp, cDist, cDist.yzxx;

DP3 tmp.x, tmp, var_X2;

ADD expVal, expVal, tmp;

# compute exponents to the base of twoEX2 expVal.x, -expVal.x;

# reconstruct vector and increment texture coordinatesMAD val, wt, expVal, val;

ADD texPos, texPos, texInc;

ENDREP;

# projection, texture advection, ...

Figure 5: Main part of a fragment program for scalar de-coding of arbitrary directional basis functions via covari-ance matrix. The program exploits dynamic loops.

field at locations different from grid points. In our system,we implemented an arbitrary sliceplane, that can be freelymoved through the volume to explore flow properties. Toreconstruct a scalar value from data that has been encodedby arbitrary directional basis functions, we need a fragmentprogram that is capable of analytically calculating Eq. (2)for all basis functions that influence the fragment. Exploitingthe SIMD architecture of graphics hardware, it is possible toevaluate Eq. (2) with only eight arithmetic instructions, asshown in the body of the loop in Figure 5. Once all compo-nents have been fetched into registers by texture lookups, wecompute the distance to the center. Then, the vector-matrix-vector multiplication is computed with two dot products per

Table 2: Performance measurements for different scenariosin frames per second (fps). All volumes have been renderedwith 128 slices and a viewport of 5122. The datasets aretested for the three different encoding techniques, RBFs (I),axis aligned EBFs (II) and arbitrary directional EBFs (III).For the Water channel dataset, the timings have been evalu-ated for the texture advection technique on one sliceplane.

Dataset I II III

Marschner-Lobb 0.1 0.7 0.9Convection 0.7 1.3 1.1

Bluntfin 1.3 1.8 1.6Oil Reservoir 2.7 10.6 8.0

Water Channel (4th) 44.8 128.4 87.2

Figure 6: EBF encoded tornado dataset with texture basedflow visualization (left), and vorticity magnitude (right). Thearbitrary sliceplane cuts the noosed vortex core two times.

scalar component, multiplied with the squared distance andfollowed by the evaluation of the exponent. Based on thereconstructed scalar, further feature extraction can be done.The vector reconstruction needed for particle advection re-quires fourteen arithmetic instructions, which is basically thesame procedure as scalar decoding, but applied for everyvector component. The particle advection can be computedby first order Euler integration due to Eq. (10). To evaluatethe property field ρ(�x) at time step t −Δt, we use two tex-tures as render targets, one that stores time step t −Δt, inwhich the backward texture lookup takes place, and one thatstores time step t, to which the actual result is rendered. Toevaluate the next time step, both textures are swapped, andthus, change their role for the next computation.

6. Results

The implementation of the rendering framework is based onC++ and OpenGL, and runs on a standard desktop PC withgraphics hardware that supports dynamic loops. All timingsfor the datasets presented in Table 2 have been obtained ona Pentium 4 3400MHz processor with an NVIDIA GeForce7800 GTX graphics board. We have tested our approach ona variety of datasets. The oil reservoir data was computedby the Center for Subsurface Modeling at The University ofTexas at Austin. This 156,642 tetrahedra dataset is a simu-lation of a black-oil reservoir model used to predict place-ment of water injection wells to maximize oil from produc-tion wells. The Marschner-Lobb data was obtained using anequation developed by Marschner and Lobb [ML94], and weused the same parameters that they used except for spatialrange. In this work, we sampled 50,000 points randomly in−0.5 < x, y, z < 0.5. The natural convection dataset sim-ulates a non-Newtonian fluid in a box, heated from below,cooled from above, with a fixed linear temperature profileimposed on the side walls. The simulation was developed bythe Computational Fluid Dynamics Laboratory at The Uni-versity of Texas at Austin and was run for 6000 time stepson a mesh consisting of 48000 tetrahedral elements. TheBluntfin dataset was developed by C.M. Hung and P.G. Bun-ing and it is a 40x32x32 single-zone, curvilinear, structuredblock dataset in plot3D format. The water channel dataset is

c© The Eurographics Association and Blackwell Publishing 2006.

593

Page 8: Enhancing the Interactive Visualization of Procedurally ...web.simmons.edu/~weigle/INTERO_METADATA_LANGU/Jang_Enhancing...Enhancing the Interactive Visualization of Procedurally Encoded

Y. Jang, R. P. Botchen, A. Lauser, D. S. Ebert, K. Gaither, T. Ertl / EBF

(a) (b)

(c) (d)

(e) (f)

Figure 7: Comparison of two time steps (70th : a,c,e, 150th :b,d,f) of the natural convection datasets encoded with RBFs(a) and (b), axis aligned EBFs (c) and (d), and arbitrarydirectional EBFs (e) and (f). Important areas are highlightedwith white boxes for a better comparison.

a time-dependent dataset obtained in an experiment studyinglaminar-turbulent boundary layer transitions in a water chan-nel. This 81x45x9 hexahedra-based dataset was provided bythe Institute for Aerodynamics and Gasdynamics of the Uni-versity of Stuttgart. The last dataset we used for the evalua-tion is the synthetic tornado dataset. The 32x32x32 datasetwas provided by Roger Crawfis of The Ohio State Univer-sity.

We compare our encoding results according to basis func-tions in Table 1. As shown in the table, EBFs generate bet-ter statistical results than RBFs. Since all datasets have non-spherically shaped volumes, EBFs are more flexible and ap-propriate to approximate the given volumes. For the com-parison between axis aligned EBFs and arbitrary directionalEBFs, the results depend on the datasets. If one dataset hasmore diagonal shapes than another, the arbitrary directionalEBF is a more appropriate basis function. Otherwise, theaxis-aligned EBF is more appropriate as approximation us-

(a) (b)

(c) (d)

(e) (f)

Figure 8: Comparison of the Marschner-Lobb dataset en-coded with RBFs (a), RBFs with gradient (b), axis alignedEBFs (c), axis aligned EBFs with gradient (d), arbitrary di-rectional EBFs (e) and arbitrary directional EBFs with gra-dient (f).

ing arbitrary directional EBFs requires more computationthan approximation using axis-aligned EBFs and there aremore parameters required for rendering system. Moreover,in hierarchical volume subdivision, the influence range ofarbitrary directional EBFs may be wider than the influencerange of axis aligned EBFs since an adaptive octree is usedfor the volume subdivision and the octree is based on acuboid, not a parallelepiped.

To give a fair visual comparison of the encoding tech-niques, the data has been encoded by all methods, with ap-proximately the same cost, according to the error criteria.Therefore, we get an impression of how the number of basisfunctions needed by each technique impacts the quality ofthe reconstructed structures. Figure 7 shows a comparisonusing two time steps of the natural convection data. Sinceit has mostly axis aligned symmetric shapes, axis alignedEBFs and arbitrary directional EBFs show similar statisticaland visual results. However, the result using RBFs shows ar-

c© The Eurographics Association and Blackwell Publishing 2006.

594

Page 9: Enhancing the Interactive Visualization of Procedurally ...web.simmons.edu/~weigle/INTERO_METADATA_LANGU/Jang_Enhancing...Enhancing the Interactive Visualization of Procedurally Encoded

Y. Jang, R. P. Botchen, A. Lauser, D. S. Ebert, K. Gaither, T. Ertl / EBF

(a) (c) (e)

(b) (d) (f)

Figure 9: Comparison of the Bluntfin dataset encoded with RBFs (a), RBFs with gradient (b), axis aligned EBFs (c), axisaligned EBFs with gradient (d), arbitrary directional EBFs (e) and arbitrary directional EBFs with gradient (f).

tifacts in the high gradient area in the upper part of Figure7 (a) and (b). We highlight areas with white boxes to moreeasily compare our results visually. For the rendering, weuse the flow illustration technique proposed by Svakhine etal. [SJEG05].

Figure 8 shows the reconstructions of the Marschner Lobbdataset from six diverse encodings. The left column showsthree rendering results using the L2-norm based cost func-tion. Since the Marschner Lobb data has very high frequencydata values, the RBF result shows the worst approxima-tion and EBFs show better approximation. The right columnshows the rendering results using the H1-norm based costfunction. The H1-norm based cost function gives more ac-curate results compared to the L2-norm based cost function.

In Figure 9, we compare three rendering results for theBluntfin dataset generated with H1-norm based cost func-tion. Similar to the Marschner Lobb result, EBFs shows bet-ter results than RBFs. As shown in Figure 7 and 9, the ar-bitrary directional EBF encoding provides the best recon-struction with fewest basis functions. Even though this frag-ment shader needs the most instructions to evaluate Eq. 2,the minimum number of basis functions leads to the best per-formance.

Texture based flow visualization was applied to one sliceof the water channel dataset in Figure 4. Although all threedifferent techniques show very similar results in this case,the axis aligned encoding needs fewer basis functions and,thus, gives superior real-time rendering results. Further, theadvection technique in combination with the arbitrary sliceplane enables the user to interactively explore flow featuresas shown for the tornado dataset in Figure 6. Performance ofour rendering system is presented in Table 2. As shown inthe table, generally EBFs give better performance results inall datasets.

7. Conclusion

We have presented a functional approximation to scatteredvolumetric data using RBFs and EBFs. By extension to

EBFs, we can overcome the approximation and visualiza-tion problems common for non-spherical structures. In thepaper, we have shown both statistical and visual results forcomparison. As shown previously, EBFs are more flexibleand appropriate for any data distribution, and EBFs givegreater compression and more accurate visual representa-tion of datasets. Although the extension to EBFs gives usbetter approximation and visual accuracy, visual artifact canstill be visible for some datasets. In order to reduce theseartifacts, we have used both the L2-norm based and the H1-norm based cost function to examine their influence to opti-mization and visualization. We have presented a comparisonof cost functions and shown that the H1-norm based costfunction provides better visual representations than the L2-norm based cost function. Finally, we have presented textureadvection techniques using the encoded data and we haveshown improved vector field visualization results using EBFencoding.

In future work, we will investigate various cost functionsfor the encoding and examine the visual and statistical accu-racy of these metrics. In addition, since the H1-norm basedcost function requires significant computation, we will op-timize our algorithm to reduce the amount of computation.We will also examine the scattered data distribution to selectthe most appropriate data-specific basis function for betterapproximation and more accurate visualization.

Acknowledgements

We wish to thank the reviewers for their suggestions andhelpful comments. We also thank NVIDIA for donatinggraphics hardware. This work has been supported by theUS National Science Foundation under grants NSF ACI-0081581 and NSF ACI-0121288.

References

[BWE05] BOTCHEN R. P., WEISKOPF D., ERTL T.: Texture-based visualization of uncertainty in flow fields. In Proceedingsof IEEE Visualization 2005 (October 2005), pp. 647–654.

c© The Eurographics Association and Blackwell Publishing 2006.

595

Page 10: Enhancing the Interactive Visualization of Procedurally ...web.simmons.edu/~weigle/INTERO_METADATA_LANGU/Jang_Enhancing...Enhancing the Interactive Visualization of Procedurally Encoded

Y. Jang, R. P. Botchen, A. Lauser, D. S. Ebert, K. Gaither, T. Ertl / EBF

[Cal02] CALAFIORE G.: Approximation of n-dimensional datausing spherical and ellipsoidal primitives. IEEE Transactions onSystems, Man and Cybernetics, Part A 32, 2 (2002), 1083–4427.

[CBC∗01] CARR J. C., BEATSON R. K., CHERRIE J. B.,MITCHELL T. J., FRIGHT W. R., MCCALLUM B. C., EVANS

T. R.: Reconstruction and representation of 3d objects with radialbasis functions. In Proceedings of ACM SIGGRAPH 2001 (Au-gust 2001), Computer Graphics Proceedings, Annual ConferenceSeries, pp. 67–76.

[Che05] CHEN M.: Combining point clouds and volume ob-jects in volume scene graphs. In Volume Graphics 2005 (2005),pp. 127–135.

[CL93] CABRAL B., LEEDOM L. C.: Imaging vector fields us-ing line integral convolution. In Proceedings ACM SIGGRAPH(1993), pp. 263–270.

[GE98] GROSSO R., ERTL T.: Mesh optimization and multilevelfinite element approximations. In Visualization and Mathemat-ics, Hege H.-C., Polthier K., (Eds.). Springer Verlag, Heidelberg,1998, pp. 19–30.

[Gos00] GOSHTASBY A. A.: Grouping and parameterizing ir-regularly spaced points for curve fitting. ACM Transactions onGraphics (TOG) 19, 3 (2000), 185–203.

[GS00] GRAMMALIDIS N., STRINTZIS M. G.: Head detectionand tracking by 2-D and 3-D ellipsoid fitting. In Proceedings ofIEEE Computer Graphics International Conference 2000 (2000),pp. 221–226.

[Har90] HARDY R.: Theory and applications of the multiquadric-biharmonic method. Computers and Mathematics with Applica-tions 19 (1990), 163–208.

[HFBC06] HUANG A., FARIN G. E., BALUCH D. P., CAPCO

D. G.: Thin structure segmentation and visualization in three-dimensional biomedical images: A shape-based approach. IEEETransactions on Visualization and Computer Graphics 12, 1(2006), 93–102.

[JEH00] JOBARD B., ERLEBACHER G., HUSSAINI M. Y.:Hardware-accelerated texture advection for unsteady flow visu-alization. In IEEE Visualization 2000 (2000), pp. 155–162.

[JEH01] JOBARD B., ERLEBACHER G., HUSSAINI M. Y.:Lagrangian-Eulerian advection for unsteady flow visualization.In IEEE Visualization 2001 (2001), pp. 53–60.

[JWH∗04] JANG Y., WEILER M., HOPF M., HUANG J., EBERT

D. S., GAITHER K. P., ERTL T.: Interactively visualiz-ing procedurally encoded scalar fields. In Proceedings JointEUROGRAPHICS-IEEEE TCVG Symposium on Visualization2004 (2004).

[KS97] KAUFMAN A., STOLTE N.: Discrete implicit surfacemodels using interval arithmetics. In Proceedings 2nd CGCWorkshop on Computational Geometry (1997).

[LBS03] LI G. S., BORDOLOI U., SHEN H. W.: Chameleon:An interactive texture-based rendering framework for visualizingthree-dimensional vector fields. In IEEE Visualization (2003),pp. 241–248.

[LHD∗04] LARAMEE R. S., HAUSER H., DOLEISCH H.,VROLIJK B., POST F. H., WEISKOPF D.: The state of the artin flow visualization: Dense and texture-based techniques. Com-puter Graphics Forum 23, 2 (2004), 143–161.

[LWP∗04] LI Q., WIILS D., PHILLIPS R., VIANT J., GRIFFITHS

G., WARD J.: Implicit fitting using radial basis functions withellipsoid constraint. Computer Graphics Forum 23, 1 (2004),55–69.

[MB95] MAX N., BECKER B.: Flow visualization using movingtextures. In Proc. ICASW/LaRC Symposium on Visualizing Time-Varying Data (1995), pp. 77–87.

[ML94] MARSCHNER S. R., LOBB R. J.: An evaluation of re-construction filters for volume rendering. In Proceedings of theconference on Visualization 1994 (1994), IEEE Press, pp. 100–107.

[MM99] MITAS L., MITASOVA H.: Spatial interpolation. In Geo-graphical Information Systems: Principles, Techniques, Manage-ment and Applications, P.Longley, Goodchild M., Maguire D.„D.W.Rhind, (Eds.). Wiley, 1999, pp. 481–492.

[MNT99] MADSEN K., NIELSEN H. B., TINGLEFF O.: Methodsfor non-linear least squares problems, jul 1999.

[OCK05] OKADA K., COMANICIU D., KRISHNAN A.: Ro-bust anisotropic gaussian fitting for volumetric characterizationof pulmonary nodules in multislice ct. IEEE Transactions onMedical Imaging 24, 3 (2005), 409–423.

[SBS05] SCHALL O., BELYAEV A., SEIDEL H.-P.: Robust fil-tering of noisy scattered point data. In Eurographics Symposiumon Point-Based Graphics (Stony Brook, New York, USA, 2005),Pauly M., Zwicker M., (Eds.), Eurographics Association, pp. 71–77.

[SJEG05] SVAKHINE N., JANG Y., EBERT D. S., GAITHER

K. P.: Illustration and photography inspired visualization offlows and volumes. In IEEE Visualization 2005 (2005), pp. 687–694.

[SPOK95] SAVCHENKO V. V., PASKO A. A., OKUNEV O. G.,KUNII T. L.: Function representation of solids reconstructedfrom scattered surface points and contours. Computer GraphicsForum 14, 4 (1995), 181–188.

[Sta99] STAM J.: Stable fluids. In Proceedings ACM SIGGRAPH(1999), pp. 121–128.

[TO02] TURK G., O’BRIEN J. F.: Modelling with implicit sur-faces that interpolate. ACM Transactions on Graphics (TOG) 21,4 (2002), 855–873.

[vW02] VAN WIJK J. J.: Image based flow visualization. ACMTransactions on Graphics 21, 3 (2002), 745–754.

[WBS∗05] WEILER M., BOTCHEN R. P., STEGMEIER S., ERTL

T., HUANG J., JANG Y., EBERT D. S., GAITHER K. P.:Hardware-assisted feature analysis of procedurally encoded mul-tifield volumetric data. Computer Graphics and Applications 25,5 (2005), 72–81.

[WE04] WEISKOPF D., ERTL T.: A hybrid physical/device-spaceapproach for spatio-temporally coherent interactive texture ad-vection on curved surfaces. In Proceedings of Graphics Interface2004 (2004), pp. 263–270.

[WMW86] WYVILL G., MCPHEETERS C., WYVILL B.: Datastructure for soft objects. The Visual Computer 2, 4 (1986), 227–234.

[ZRP02] ZHANG Y., ROHLING R., PAI D. K.: Direct surface ex-traction from 3d freehand ultrasound images. In Proceedings ofthe conference on Visualization 2002 (2002), IEEE Press, pp. 45–52.

c© The Eurographics Association and Blackwell Publishing 2006.

596

Page 11: Enhancing the Interactive Visualization of Procedurally ...web.simmons.edu/~weigle/INTERO_METADATA_LANGU/Jang_Enhancing...Enhancing the Interactive Visualization of Procedurally Encoded