13.07.2015 Views

Volume Warping for Adaptive Isosurface Extraction - ResearchGate

Volume Warping for Adaptive Isosurface Extraction - ResearchGate

Volume Warping for Adaptive Isosurface Extraction - ResearchGate

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.3 RelaxationAs explained in the previous section, the warping function isrepresentated using two associated grids and ¼ . The functionis computed using an extension of the relaxation algorithmdescribed in [2] to tridimensional grids. We briefly describe therelaxation process below and refer the reader to [2] <strong>for</strong> more details.Figure 4: Importance map <strong>for</strong> the Bonsai tree dataset. The map isrepresented as a painted isosurface. The darker the shade of isosurfaceregion the more important the area in the volume.G✔✬G'Figure 5: <strong>Warping</strong> and inverse warping .centroid Ô ¼ « of each voxel in ¼ to obtain a point Ô « in the domainof , and set the value ¼ « of the voxel equal to the result ´Ô «µof evaluating the original scalar function the computed point Ô «.Note that this procedure does not require the warped data set ¼ tobe of the same size as the input dataset . The sampling rate canbe changed (increased or decreased) during the inverse mappingstep.The warping function is represented by two associated grids, denotedby and ¼ (Figure 5), with the same connectivity, andagain, trilinear interpolation <strong>for</strong> continuity. A more complex interpolationscheme can be used, but we found trilinear interpolationto be good enough <strong>for</strong> our experiments <strong>for</strong> both the volume dataand the warping function A regular grid ¼ covers the dataset ¼ ,and the (inverse) warped grid covers the dataset . To evaluatethe inverse warping function at a point Ô ¼ ¾ É, we first needto determine which cell ¼ the point belongs, then compute trilinearcoordinates of the point with respect to the eight vertices of thecontaining cell on ¼ , and finally evaluate the trilinear coordinatesat the eight vertices of the corresponding cell on . Since thegrid covering ¼ is regular, determining which cell Ô ¼ belongs tois simply done by quantization. Evaluating the <strong>for</strong>ward warpingfunction is more expensive because, since the grid is not regular,determining which cell a point Ô ¾ É belongs to requires a spatialsearch. However, this is irrelevant because our approach does notrequire to evaluate the <strong>for</strong>ward warping function at all.Figure 7: .Initially, the vertices in the grid are initialized to a uni<strong>for</strong>m cubein the unit volume. At each step of the relaxation, a displacementvector is computed <strong>for</strong> each vertex. These vectors are evaluated bysampling the intensity of the importance map at each vertex locationin the volume. Note that since the importance map does nothave necessarily the same size as the original volume, trilinear interpolationis used to retrieve the intensity. A weight is evaluated<strong>for</strong> each pair of neighbor vertices 1 using their sampled intensity. Aweight will be large <strong>for</strong> a vertex sampling a high activity region.As a result, vertices in low activity regions are pulled by the onessampling high activity regions (e.g. as suggested in Figure 7.)To improve convergence accuracy and speed, we use a multigridapproach. Initially, the warping function is modeled with a coarsegrid, e.g. a ¿ ¢ ¿ ¢ ¿ grid (see the left handside of Figure 7.) Whenthe relaxation converges <strong>for</strong> the current grid resolution, the gridis subdivided using linear interpolation (right handside of Figure7.) Then, the process is reiterated until convergence and againthe grid is subdivided, etc. In order to ensure that the warpingfunction spans the whole volume during the relaxation process,constraints are applied to vertices lying on faces and at corners.Corner vertices are not allowed to move, whereas face verticescan only move within their face. In Figure 7 only the internal gridvertices are represented using a sphere <strong>for</strong> clarity.3.4 <strong>Isosurface</strong> extractionOnce the volume is warped, any isosurface extraction algorithm canbe used to generate the corresponding mesh. This flexibility is alloweddue to the fact that areas of interest have already been expandedwithin the warped volume in contrast to the remaining areasof lesser interest which have been contracted. Subsequently, any extractionalgorithm will define these regions appropriately. Our volumewarping and extraction pipeline is implemented in OpenDx 2 .In this environment the Alligator extraction algorithm [4] is implemented(a modification of the Marching Cubes algorithm [6]). InFigure 10 we show the result obtained using a standard implementationof the Marching Cubes algorithm. The isosurface is extractedfrom a ½¾ ¿ volume dataset warped using the importance map de-1 We consider only the neighbors in the six cardinal directions.2 www.opendx.org

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!