Lifting curve parameterization methods to isosurfaces - Science Direct

2 downloads 0 Views 1MB Size Report
Aug 19, 2004 - b Handong University, South Korea c Nanjing University of Aeronautics ...... Min Hu and Helmut Pottman, for their excellent service. We wish to ...
Computer Aided Geometric Design 21 (2004) 751–766 www.elsevier.com/locate/cagd

Lifting curve parameterization methods to isosurfaces Gregory M. Nielson a,∗ , Kun Lee b , Liyan Zhang

c

a Arizona State University, USA b Handong University, South Korea c Nanjing University of Aeronautics and Astronautics, PR China

Available online 19 August 2004

Abstract We describe a new technique for the parameterization of surfaces which applies to the isosurfaces produced by the marching cubes algorithm. The technique is motivated by methods of parameterization for curves including the centripetal and chord length methods. The technique for extending the concept of curve parameterization to an isosurface parameterization is based upon the 4*-network which is a collection of three mutually orthogonal planar polygons lying on and intersecting at the vertices of the marching cubes isosurface. Several examples from geometric modeling, and medical imaging analysis are included.  2004 Elsevier B.V. All rights reserved. Keywords: Parameterization; Mesh surfaces; Isosurfaces

1. Introduction and motivation Triangular mesh surfaces (TMS) are one of the mostly widely used methods of representing geometric objects. There is a great deal of interest in the development of methods for parameterizing these surfaces since a parameterization is required for or can benefit many processing and visualization techniques. Methods which are nearly isometric (Hormann and Greiner, 2000) and which approximately preserve area (Desbrun et al., 2002), angles (Haker et al., 2000a, 2000b; Polthier, 2000), shape (Floater, 1997), or geodesic distance (Zigelman et al., 2002; Zhang et al., 2004) have recently been discussed. In addition, * Corresponding author.

E-mail addresses: [email protected] (G.M. Nielson), [email protected] (K. Lee), [email protected] (L. Zhang). 0167-8396/$ – see front matter  2004 Elsevier B.V. All rights reserved. doi:10.1016/j.cagd.2004.07.006

752

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766

there is a strong connection to generalized barycentric coordinates (Desbrun et al., 2002; Floater, 2003; Floater and Horman, 2002; Meyer et al., 2002) and planar graphs (Tutte, 1960, 1963). A special type of TMS is produced when the Marching Cubes (MC) algorithm is applied to a volume data set. These special TMS usually have the negative aspect of having poorly shaped triangles, but on the other hand these surfaces have some particularly interesting and useful topological properties (edge topology). We exploit this property to obtain a characterization and particularly efficient computational algorithm for obtaining an optimal parameterization for TMS that result from the MC algorithm. In a nutshell, the first two sections consist of the following. First, we uniquely characterize a family of parameterization schemes for curves as the solution of a linear system of equations based upon convex combination conditions. Next we make an observation that the vertices of a marching cubes isosurface all lie on a collection of three mutually orthogonal planar curves (polygons). Imposing the curve parameterization constraints on each of these planar curves leads to an over constrained system of equations which we solve in the least squares sense. We appeal to the results of (Floater, 1998) to conclude that this least squares solution actually represents a parameterization. For the curve/polygon case we have an ordered collection of points Pi = (xi , yi ), i = 0, 1, . . . , n, and a parameterization consists of a sequence of parameter values, a = t0 < t1 < · · · < ti < · · · < tn = b such that P (ti ) = Pi = (xi , yi ),

i = 0, 1, . . . , n,

where P is curve interpolation scheme. It is well known that the choice of the parameter values affects the overall performance of an approximation algorithm. See (Foley and Nielson, 1989) for some overview comments on this topic. We now consider a family of curve parameterizations defined by t0 = a, d0 (b − a), D .. . d0 + · · · + di−1 (b − a), ti = a + D .. . tn = b, t1 = a +

(1)

where di = Pi − Pi+1 α ,

i = 0, 1, . . . , n − 1,

and D = d0 + d1 + · · · + dn−1 . For α = 0, this yields the common uniform parameterization, for α = 1, we have the well known chord length parameterization and for α = 0.5 the centripetal method of (Lee, 1989) results.

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766

753

Fig. 1. Notation for curve parameterization.

Theorem 1. Consider the system of convex combination constraints t0 = a,     di di−1 ti−1 + ti+1 , ti = di−1 + di di−1 + di tn = b,

i = 1, . . . , n − 1,

which can be written in the form of a tridiagonal linear system of equations, 1 0 0 ··· 0 0 0     t0 a  α1 −1 β1 0 0 0    t1   0        ..     0 . 0 0        .   .   . . .  .. βi 0  αi −1  .  =  .        ..  ..     0 . .         0  0 αn−1 −1 βn−1  tn b 0 0 0 ··· 0 0 1

(2)

(3)

where αi =

di , di−1 + di

βi = 1 − αi =

di−1 . di−1 + di

This system of equations has a unique solution consisting of the values specified in (1) used to define curve parameterization. Proof. We first must establish that (3) has a nonsingular coefficient matrix. An argument similar to that of Floater (see Proposition 1 of (Floater, 1997)) also works in this univariate case. Since it is brief, we include it here. Let t˜0 , . . . , t˜n be a solution of the homogeneous version of (3) and let t˜max = t˜k be the largest of these values. Because of (2), each of the neighbors of t˜k must also be equal to t˜max . Continuing this, we conclude that t˜max = 0. Similarly, we have that t˜min = 0 and so the only solution of the homoge-

754

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766

neous system is the trivial solution and so (3) must be nonsingular. Now we verify that the values of (1) actually satisfy (2) and (3). We rewrite (2) as       di di−1 di−1 + di ti = ti−1 + ti+1 di−1 + di di−1 + di di−1 + di which is equivalent to di (ti − ti−1 ) = di−1 (ti+1 − ti ). Since di−1 di (b − a) and ti+1 − ti = (b − a), D D it is clear that the values of (1) satisfy (2) and (3) and this completes the proof. ti − ti−1 =

2

Some additional notation and definitions are needed. In general, the geometry of a triangular mesh surface S, consists of a list of vertices Vn = (xn , yn , zn ), n = 1, . . . , N . The topology consists of a list of triple indices specifying the triangles of S, Nt = {(i, j, k): Vi , Vj , Vk are vertices of triangle of S}. It is also useful to specify the topology with an edge list, Ne = {(i, j ): Vi , Vj is an edge of S}. For the most part, we are interested in triangular mesh, isosurfaces with boundaries which are topologically equivalent to a disc. We use ∂S to denote the polygonal boundary and the collection of indices of the vertices on the boundary is denoted by N∂ . A planar parameterization of S consists of a planar domain S − containing the points Vn− = (sn , tn ), n = 1, . . . , N , which correspond one-to-one to the points Vn of S. The boundary of S − is denoted by ∂S − with boundary indices, N∂− exactly the same as N∂ , and the topology of S inherited by S − must be a valid 2D triangulation. This means that the triangles Vi− , Vj− , Vk− , (i, j, k) ∈ Nt , collectively cover S − and only intersect at the common edges. The parameterization is the piecewise linear map φ, which maps each triangle of S − to the corresponding triangle of S. The map φ is one-to-one and onto. We now include some notation for the special triangular mesh surfaces that are produced by the MC algorithm. Input to MC algorithms consists of a three dimensional array of values Fi,j,k = F (ix, j y, kz)

(4)

representing samples of a function over a rectilinear grid consisting of lattice points L = (ix, j y, kz), i = 1, . . . , Nx ; j = 1, . . . , Ny ; k = 1, . . . , Nz }. For a given threshold value τ , the MC algorithm produces a triangular mesh surface which separates the lattice points with Fi,j,k > τ from those with Fi,j,k  τ . The basic strategy of the MC algorithm consists of producing fragments of the surface one voxel at a time. Details for the implementation of the MC algorithm including how to obtain the topology information by only one pass through the voxels can be found in (Nielson, 2003b) and (Nielson and Huang, 2002). We now make some observations about the special nature of the triangular mesh surfaces produced by the MC algorithm which have previously been utilized by (Nielson and Huang, 2002) and (Nielson et al., 2003) and are crucial for the methods of the present paper. We summarize these observations in the following theorem. An earlier version of this theorem has appeared in (Nielson et al., 2003), but for completeness a modified version is included here.

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766

755

Theorem 2 (4*-network). Let S be the triangular mesh surface produced by the MC algorithm applied to the data of (4) and consider the planar slices of S

Xi = S ∩ (x, y, z): x = ix , i = 1, . . . , Nx ,

Yj = S ∩ (x, y, z): y = j y , j = 1, . . . , Ny ,

Zk = S ∩ (x, y, z): y = kz , k = 1, . . . , Nz . (i) These three collections form a mutually orthogonal network of planar, polygon curves lying on the surface S. (ii) Each vertex Vi ∈ S is at the intersection of exactly two of these planar polygons; one from one of the collection of planar curves and the other from a collection that is orthogonal to it. More precisely, {Vn ∈ Xi } ∪ {Vn ∈ Yj } = {Vn ∈ Zk } ∪ {Vn ∈ Yj } = {Vn ∈ Xi } ∪ {Vn ∈ Zk } = {Vi , i = 1, . . . , N}. An example of the 4*-network is shown in Fig. 2. We note that the valence of each vertex in the 4*-network is always four (except on the boundary) and the polygon patches are those provided by the various cases of the MC algorithm and will have 3, 4, 5 or 6 vertices. We should note that the above theorem assumes that we are using a modified version of the MC algorithm which corrects the hole problem (of the original method) and guarantees this separation property without adding triangles on faces of voxels. The method of (Nielson and Hamann, 1991) guarantees these properties as does the method described by (Nielson and Huang, 2002) and the recent method of (Nielson, 2003a), but the original method of (Lorensen and Cline, 1987) will not work in general. Also, we assume that τ = Fi,j,k so that no 4*-network curve passes through the lattice points. We introduce the following notation for the neighboring points of the 4*-network of S. If P = (ix, y, kz), then Px+ is the first 4*-vertex on Xi with z-coordinate greater than kz; Px− is the first point on Zi with z-coordinate less than kz; Pz+ is the first 4*-vertex on zk with x-coordinate greater than ix; and Pz− is the first 4*-vertex on zi with x-coordinate less than ix. In the case that P =

Fig. 2. Left image is triangular mesh surface produced by a modified MC algorithm, (Nielson, 2003a), and the right image is this same surface but only the edges of the 4*-network displayed. Data is courtesy of Stanford University.

756

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766

Fig. 3. Notation for the 4*-network neighboring points.

(ix, j y, z ), Px+ , Px− , Py+ and Py− have similar definitions. And in the case that P = (x, j y, kz), Py+ ,Py− ,Pz+ and Pz− have similar definitions. This notation is illustrated in Fig. 3. where it can be noted that Qy− = Pz+ .

2. Isosurface parameterizations Our parameter domain will typically be a unit disk, S − = {(u, v): u2 + v 2 = 1} or a unit square, S − = {(u, v): 0  u  1, 0  v  1}. The parameter values that correspond to the boundary of S will also be selected according to (1). For the interior parameter values, we wish to invoke the same conditions as specified in (2) and (3) applied to each of the planar polygons of the 4*-network. For each of the three collections of planar polygons, this amounts to the following conditions: − − Px− − P α Px+ + P − Px+ α Px− i , i = 1, . . . , Nx , , P ∈X Px− − P α + P − Px+ α − − Py− − P α Py+ + P − Py+ α Py− i , i = 1, . . . , Ny , , P ∈Y P− = Py− − P α + P − Py+ α − − Pz− − P α Pz+ + P − Pz+ α Pz− i , i = 1, . . . , Nz , , P ∈Z P− = Pz− − P α + P − Pz+ α

P− =

(5)

j = {P ∈ Yj , P ∈ k = {P ∈ Zk , P ∈ i = {P ∈ Xi , P ∈ / ∂S}, Y / ∂S} and Z / ∂S}. where X With twice as many equations as unknowns, the constraints of (5) represent a potentially over constrained linear system of equations, but we can obtain an overall best fit by computing a least squares solution. If we let A denote the coefficient matrix of (5) and b the constant vector then a least squares solution of (5) is characterized as the minimum of Φ(P − ) = AP − − b2 where P − is the vector of unknown parameter values.

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766

757

Theorem 3. Consider the convex combination conditions: j , i = 1, . . . , Nx ; j = 1, . . . , Ny i ∩ Y For P ∈ X − − − − Py− − P α Py+ + P − Py+ α Py− Px− − P α Px+ + P − Px+ α Px− + , P = 2(Px− − P α + P − Px+ α ) 2(Py− − P α + P − Py+ α ) −

k , i = 1, . . . , Nx ; k = 1, . . . , Nz i ∩ Z for P ∈ X − − − − Pz− − P α Pz+ Px− − P α Px+ + P − Px+ α Px− + P − Pz+ α Pz− + , 2(Px− − P α + P − Px+ α ) 2(Pz− − P α + P − Pz+ α ) k , j = 1, . . . , Ny ; k = 1, . . . , Nz j ∩ Z and for P ∈ Y

P− =

P− =

(6)

− − − − Py− − P α Py+ + P − Py+ α Py− Pz− − P α Pz+ + P − Pz+ α Pz− + . 2(Py− − P α + P − Py+ α ) 2(Pz− − P α + P − Pz+ α )

The conditions of (6), along with the boundary conditions described above constitute a linear system of equations whose unique solution is the unique least squares solution of (5). Furthermore, if the 4*-network topology of the parametric values P − ∈ S − is augmented with the topology of the edges of the original triangulation of S, the resulting triangulation of the parameter values P − represents a parameterization of S. j for some i and j , then i ∩ Y Proof. Let P be an arbitrary point of S and wlog assume P ∈ X  − − 2 Px− − P α Px+ + P − Px+ α Px− − − Φ(. . . , P , . . .) = · · · + P − Px− − P α + P − Px+ α  − − 2 Py− − P α Py+ + P − Py+ α Py− − + P − ··· Py− − P α + P − Py+ α and so it is clear that the stationary conditions ∂Φ(P − ) = 0, P ∈ S, (7) ∂P − are the same as (6). The fact that (6) has a unique solution and that this solution leads to a parameterization of S can be obtained from a modification of the result of (Floater, 1998) on “tilings”. The modification involves removing the restriction of tilings that the 4-, 5- and 6-sided patches of the 4*-network be planar. We can also use a continuity argument which we now present. First, using the connectivity of the 4*network to ∂S, the same argument used by (Floater, 1997) and Theorem 1 above will ensure that (6) has a unique solution. Using the full triangulation of S and convex combination weights with arbitrarily small weights for the edges of the triangulation not in the 4*-network, we know the solution of (6) is arbitrarily close to vertices of a valid parameterization of S. Since we are dealing with linear systems, a uniform continuity argument will yield the desired result. 2 3. Solving strategy In this section, we outline our strategy for solving the linear systems of (6). Any method could be used, including the conjugate gradient, but because of the special nature of the 4*-network, the problem

758

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766

Fig. 4. The labeling of a small example of a 4*-network to illustrate the method of solving the convex combination equations for the parameter vertices.

lends itself to a particularly simple and efficient method of solution which we now describe. The method is iterative and based upon the fact that embedded in (6) are three collections of tridiagonal system of equations. We exploit this property in the development of our algorithm. Since a tridiagonal system of equations of size N can be solved directly in O(N) operations, the resulting method of solution is particularly efficient. While the method is relatively simple and straightforward, establishing the general notation required to describe it precisely is rather cumbersome and so we use a small example to illustrate the main ideas. For the example of Fig. 4, we have Xi = {1, 6, 13, 17},

Xi+1 = {2, 7, 11, 15, 18},

Yj = {1, 2, 3, 4, 5},

Yj +1 = {6, 7, 8, 9, 10},

Zk = {5, 10, 12, 16, 18}

and

Xi+2 = {4, 9, 12},

Yj +2 = {13, 14, 15, 16},

Zk+1 = {3, 8, 11, 14, 17}.

We note that the edges ∂S do not need to be a subset of the 4*-network. The edge from point 17 to point 18 of Fig. 4 points this out for this example. The linear constraints of Eq. (6) lead to 6 equations in 6 unknowns. The unknowns are 7, 11, 15 of Xi+1 ; 9 of Xi+2 ; 7, 8, 9 of Yj +1 ; 14, 15 of Yj +2 and 8, 11, 14 of Zk+1 . We estimate an initial approximation for each of the unknowns −(0) −(0) −(0) , P14 , P15 and successively solve the following five linear system of equaP7−(0) , P8−(0) , P9−(0) , P11 tions which we call a “sweep”. −(k+1) −(k+1) , P15 From the Xi+1 loop we solve for P7−(k+1) , P11 

1  |2, 7, 11|   0    0 0

0 −2 |7, 11, 15| 0 0

0 |11, 7, 2| −2 |11, 15, 8| 0

0 0 |15, 11, 7| −2 0

 P−  0 2  −(k+1)   P 0  7    −(k+1)   0   P11    |8, 15, 11|   P −(k+1)  15 1 P− 18

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766





P2−

  −|6, 7, 8|P6− − |8, 7, 6|P8−(k)     −(k) −(k)   =  −|14, 11, 8|P14 − |8, 11, 14|P8  ,  −(k) −  −|14, 15, 16|P14  − |16, 15, 14|P16 − P18 where we use the notation |a, b, c| = From the Xi+2 loop we solve 

1  |4, 9, 12| 0

Pb −Pc α . Pa −Pb α +Pb −Pc α

  P−   P4− 0 0 4 −(k)  . −2 |12, 9, 4|   P9−(k+1)  =  −|8, 9, 10|P8−(k) − |10, 9, 8|P10 − − 0 1 P12 P12

From the Yj +1 loop conditions 

1  |6, 7, 8|    0   0 0 

0 −2 |7, 8, 9| 0 0

0 |8, 7, 6| −2 |8, 9, 10| 0

0 0 |9, 8, 7| −2 0

P6−

 P−  0 6  −(k+2)   P7  0    −(k+1)   0   P8    |10, 9, 8|   P −(k+2)  9 − 1 P10     .  

 −|2, 7, 11|P − − |11, 7, 2|P −(k+1)  11 2  −(k+1) =  −|3, 8, 11|P3− − |11, 8, 3|P11   −|4, 9, 12|P − − |12, 9, 4|P − 4 12 − P10 From the Yj +2 loop conditions we have 

1  |13, 14, 15|   0 0 

0 −2 |14, 15, 16| 0 − P13

0 |15, 14, 13| −2 0

 P−  0 13 −(k+1)    P 0     14  −(k+2)  |16, 15, 14|  P15 − 1 P16 

 −|11, 14, 17|P −(k+1) − |17, 14, 11|P −   17  11 = . −(k+1) −  −|11, 15, 18|P11 − |18, 15, 11|P18 − P16

And from the conditions of the Zk+1 loop we have

759

760

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766



1  |3, 8, 11|   0    0 0 

0 −2 |8, 11, 14| 0 0

0 |11, 8, 3| −2 |11, 14, 17| 0 P3−

 P−  0 0 3  −(k+2)   P8 0 0     −(k+2)   |14, 11, 8| 0   P11    −2 |17, 14, 11|   P −(k+2)  14 − 0 1 P17 

  −(k+1) − |9, 8, 7|P9−(k+2)   −|7, 8, 9|P7   −(k+1) −(k+2)  = − |15, 11, 7|P15 .  −|7, 11, 15|P7  −(k+2)  −   −|13, 14, 15|P13 − |15, 14, 13|P15 − P17 We should mention one feature that is not included in this simple example which does occur in the general case. This is where none of the points on a loop are on the boundary of S. This leads to periodic, tridiagonal systems of equations. We note that it does take additional computations to solve a periodic tridiagonal system of equations, but the order of work required is still O(N). We have purposely included the identities at the beginning and end of each separate system of equations so that the structure to Eq. (3) is evident. We note that one sweep through the entire set of equations means that each of the equations of (6) is visited twice. Also, during the iterative process, from one sweep to the next, the algorithm revisits the tridiagonal system of equations with the same coefficient matrix and only the constant vector has changed. This allows for the efficiency of maintaining the values of the LU decomposition of these tridiagonal matrices. It is also worthy of mention that there are some similarities of the present method and the ADI method (see, for example, (Wachpress and Habetler, 1960) or (Hackbusch, 1978)).

4. Examples 4.1. Example 1. Proof of concept In this first example we use a simple object comprised of the top portion of an ellipsoid with a convex protrusion and a concave dent. The field function for this object was built by using CSG operations applied to scaled versions of a single field function. This field function has values that vary proportional to the distance from a center point so that all isosurfaces are spheres. The final field function was sampled over a 32 × 32 × 32 grid. In Fig. 5, we show three different views of the isosurface. The center image of Fig. 5 only shows the 4*-network for this isosurface. In Fig. 6, we show parameterizations of the object of Fig. 5 using six different values of the parameter α. From top left to bottom right we have α = −0.25, α = 0.0, α = 0.50, α = 0.75, α = 1.00, α = 2.00. Resampling based upon these respective parameterizations are shown in Fig. 7. Subjective aesthetics applied to the triangulations of the parameterizations might lead one to select a value of α = 0.0 as optimal for this example, but the same subjective test applied to the resampled approximations might lead to an optimal value of 0.50  α  1.00. This, somewhat, contradictory assessment, reminds us that the “optimality” of any particular parameterization should be measured against metrics for the intended application!

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766

761

Fig. 5. Three views of an isosurface consisting of the upper portion of and elipsoid with a concave protrusion and a convex dent. The center image only shows the polygons of the 4*-network.

Fig. 6. Six parameterizations of the object of Fig. 5. Starting at the upper left and progressing to the right and down, we have α = −0.25, α = 0.0, α = 0.50, α = 0.75, α = 1.00, α = 2.00.

4.2. Example 2. Stamping mold for hand tool In the analysis of mechanical parts by CT scans and in some methods of reverse engineering, the surface of objects in CAD/CAM and CAGD applications are known or defined as the isosurface of a volume model (Nielson, 2000). Other processing for these parts, such as NURBS fitting or NC milling requires a parametric representation. The object of this example shown in Fig. 8 has a field function with a domain lattice of size 30 × 150 × 200. In Fig. 9, we illustrate the parameterization by showing the resampled approximation using grids of size 50 × 50, 100 × 100 and 150 × 150. We have chosen to show the parameterization based

762

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766

Fig. 7. Remeshing approximations of the object of Fig. 5 based upon the parameterization of Fig. 6. Starting at the upper left and progressing to the right and down, we have α = −0.25, α = 0.0, α = 0.50, α = 0.75, α = 1.00, α = 2.00.

Fig. 8. The isosurface of a field function over 30 × 150 × 200 lattice grid that defines the surface geometry for the fabrication of a hand tool. Only one set of contours of 4*-network are shown.

upon α = 0.9. This is a somewhat arbitrary choice based upon some subjective trial and error and some heuristic error metrics. It is a topic of future research to develop algorithms for computing an optimal value of α for a particular application.

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766

Fig. 9. Resampling based upon the parameterization of the surface of Fig. 8 using α = 0.9.

763

764

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766

4.3. Example 3. Brain flattening by parameterization The term “flattening” has been used in the medical imaging field to convey the concept of mapping the surface of an object of interest to a planar domain. For example, with functional magnetic resonance (fMR) data it is possible to observe neural activity deep within the folds or sulci of the brain cortical surface using brain flattening techniques. There is also the potential use of flattening techniques in virtual colonoscopy where “the approach favored by pathologists, which involves cutting open the tube represented by the colon, and laying it out flat for comprehensive inspection” is simulated (Haker et al., 2000b). One approach to this flattening process is to use the parameterization techniques described here. We illustrate this possibility with an example that utilizes a volume data set that is available from the Surgical Planning Laboratory at Brigham and Women’s Hospital, www.spl.harvard.edu. It is data that has been segmented from a MRI scan representing a brain which has had a tumor removed. (See (Kaus et al., 2001) and (Warfield et al., 2000).) It consists of a binary array of size 124 × 256 × 256 with a value of one indicating the presence of brain matter and a zero representing anything other than brain material. The MC algorithm can be used to compute a triangular mesh surface at threshold (say) 0.5 that will separate all lattice points in the volume from those outside the volume. This surface utilizes the midpoints of edges and it rather blocky and difficult to perceive. Using some recently developed techniques (Nielson et al., 2003), we can obtain a smoother surface that has the same topology (edges) as the midpoint surface. This surface has vertices on the same edges as the midpoint surface, but the actual positions are chosen so as to optimize an energy/cost functional used to measure global smoothness. The left image of Fig. 10 shows the midpoint surface for a down-sampled volume data set of size 62 × 128 × 128. Even though our algorithms have no problems at the higher resolution, the graphs illustrating the parameterization are too cluttered for this context and so a lower resolution model is used. Also some minimal editing was done to remove tunnels which can not be accommodated by our present method. In the right image of Fig. 10, we show the smoothed surface. Fig. 11 has views of the left and right hemispheres along with the respective parameterizations. Some of the folds or sulci are rather deep as is evidenced by the high density of the contours in certain regions.

Fig. 10. The left image is the midpoint service illustrating the enumerated volume representing a segmented brain. The right image is the optimal shroud computed by the techniques of (Nielson et al., 2003).

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766

765

Fig. 11. Top images give a view of the left hemisphere of the optimal shrould for segmented brain data and its parameterization using α = 1.0. The bottom images have the corresponding images for the right hemisphere.

Acknowledgements An earlier version of this paper has appeared in the proceedings of the conference Geometric Modeling and Processing held in Beijing, April 2004 (see (Nielson, 2004)). We wish to thank the organizers, ShiMin Hu and Helmut Pottman, for their excellent service. We wish to acknowledge the support of the Office of Naval Research (N00014-00-2-0287), the National Science Foundation (NSF IIS-9980166 & ACI-0083609) and DARPA (MDA972-00-1-0027). This work was also partly sponsored by National Science Foundation of China, grant 60273097, and Huo Ying-Dong Educational Foundation, grant 0391053. We wish to thank Drs. S. Warfield, M. Kaus, R. Kikinis, P. Black and F. Jolesz for sharing the tumor database. The original data for the example of Section 4.2 is courtesy of Geomagic. Thanks to R. Holmes, J. Hu, A. Huang, Y. Lu, M. Phielipp, and S. Sylvester for their help. References Desbrun, M., Meyer, M., Allie, P., 2002. Intrinsic parameterizations of surface meshes, Eurographics 2002. Computer Graphics Forum 21 (2), 666–911.

766

G.M. Nielson et al. / Computer Aided Geometric Design 21 (2004) 751–766

Floater, M.S., 1997. Parametrization and smooth approximation of surface triangulations. Computer Aided Geometric Design 14, 231–250. Floater, M.S., 1998. Parametric tilings and scattered data approximation. Inter. J. Shape Modeling 4, 165–182. Floater, M.S., 2003. Mean value coordinates. Computer Aided Geometric Design 1, 19–27. Floater, M.S., Horman, K., 2002. Parameterization of triangulations and unorganized points. In: Iske, A., Quak, E., Floater, M.S. (Eds.), Tutorial on Multiresolution in Geometric Modelling. Springer, Berlin, pp. 287–314. Foley, T., Nielson, G.M., 1989. Knot selection for parametric spline interpolation. In: Lyche, T., Schumaker, L. (Eds.), Mathematical Methods in Computer Aided Geometric Design. Academic Press, New York, pp. 261–271. Hackbusch, W., 1978. On the multi-grid method applied to difference equations. Computing 20, 291–306. Haker, S., Angenent, S., Tannenbaum, A., Kikinis, R., Sapiro, G., 2000a. Conformal surface parameterization for texture mapping. Transactions on Visualization and Computer Graphics 6 (2), 181–189. Haker, S., Angement, S., Tannenbaum, A., Kikinis, R., 2000b. Nondistorting flattening for virtual colonoscopy. In: Proceedings of MICCAI. Springer, Berlin, pp. 358–366. Hormann, K., Greiner, G., 2000. MIPS: an efficient global parametrizaton method. In: Laurent, P.-J., Sablonniere, P., Schumaker, L.L. (Eds.), Curve and Surface Design: Saint-Malo ’1999. Vanderbilt University Press, Nashville, pp. 153–162. Kaus, M., Warfield, S.K., Nabavi, A., Black, P.M., Jolesz, F.A., Kikinis, R., 2001. Segmentation of MRI of brain tumors. Radiology 218, 586–591. Lee, E.T., 1989. Choosing nodes in parametric curve interpolation. Computer Aided Geometric Design 21, 363–370. Lorensen, W.E., Cline, H.E., 1987. Marching cubes: A high resolution 3D surface construction algorithm. In: SIGGRAPH ’87 Proceedings, vol. 21, pp. 163–169. Meyer, M., Barr, A., Lee, H., Desbrun, M., 2002. Generalized barycentric coordinates or irregular polygons. J. Graph. Tools 17, 13–22. Nielson, G.M., 2000. Volume modeling. In: Chen, M., Kaufman, A.E., Yagel, R. (Eds.), Volume Graphics. Springer, Berlin, pp. 29–48. Nielson, G.M., 2003a. On marching cubes. Transactions on Visualization and Computer Graphics 9 (3), 283–297. Nielson, G.M., 2003b. MC*: Star functions for marching cubes. In: Proceedings of Visualization ’03, pp. 59–66. Nielson, G.M., 2004. Chord length (motivated) parameterization of marching cubes isosurfaces. In: Hu, S.-M., Pottmann, H. (Eds.), Proceedings of Geometric Modeling and Processing: Theory and Applications. IEEE Computer Society Press, pp. 19–30. Nielson, G.M., Hamann, B., 1991. The asymptotic decider: Resolving the ambiguity in marching cubes. In: Proceedings of Visualization ’91, pp. 83–91. Nielson, G.M., Huang, A., 2002. Approximating normals for marching cubes applied to locally supported isosurfaces. In: Proceedings of Visualization ’02, pp. 459–466. Nielson, G.M., Graf, G., Huang, A., Phliepp, M., Holmes, R., 2003. Shrouds: Optimal separating surface for enumerated volumes. In: VisSym ’03, Eurographics Association, pp. 75–84. Polthier, K., 2002. Polyhedral surfaces of constant mean curvature. Habilitationsshcrift, Technische Universität, Berlin. Tutte, W.T., 1960. Convex representation of graphs. Proc. London Math. Soc. 10, 304–320. Tutte, W.T., 1963. How to draw a graph. Proc. London Math. Soc. 13, 743–768. Wachpress, E., Habetler, G., 1960. An alternating-direction-implicit iteration technique. J. Soc. Indust. Appl. Math. 8, 403–424. Warfield, S.K., Kaus, M., Jolesz, F.A., Kikinis, R., 2000. Adaptive, template moderated, spatially varying statistical classification. Med. Image Anal. 4 (1), 43–55. Zhang, L., Liu, S., Wu, X., Zhou, L., 2004. Segmentation and parametrization of arbitrary polygon meshes. In: Hu, S.-M., Pottmann, H. (Eds.), Proceedings of Geometric Modeling and Processing: Theory and Applications. IEEE Computer Society Press, pp. 143–152. Zigelman, G., Kimmel, R., Kiryati, N., 2002. Texture mapping using surface flattening via multidimensional scaling. IEEE Transactions on Visualization and Computer Graphics 8 (2), 198–207.

Suggest Documents