Implicit Meshing for Finite Element Methods using Levelsets - CiteSeerX

0 downloads 0 Views 395KB Size Report
tures appear, the meshing step can prove to be very difficult: either very huge meshes ... rithm [9, 10] followed eventually with several steps to im- prove the mesh ...
Implicit Meshing for Finite Element Methods using Levelsets Théodore Papadopoulo Sylvain Vallaghé Odyssée Project Team, INRIA, ENS Ulm, ENPC 2004 route des Lucioles Sophia-Antipolis, BP 93, 06902 Sophia-Antipolis, Cedex FRANCE [email protected]

Abstract Finite Element methods (FEM) usually require a mesh to describe the geometric domain on which the computations are occuring. These meshes must have several properties: 1) they must approximate the geometrical domain accurately, 2) they must have good numerical properties, and 3) they must be small enough so that the computations take a reasonable amount of time. These goals are somewhat contradictory and in many cases such as biomedical images – and particularly in the case of the head –, even though the geometric domains can effectively be extracted, eg from Magnetic Resonance Images (MRI), the generation of such meshes is quite difficult. This paper describes a technique that bypasses this mesh generation step going directly from a description by levelsets of the interfaces separating the various domains to the matrix associated to the FEM method. Using the levelsets description is quite convenient as it is already used by many segmentation tools. The technique is illustrated on spherical and realistic geometries for the Electroencephalography (EEG) direct problem.

1. Introduction The Finite Element Method (FEM) [23] is a broadly used method to approximate the solution of Partial Differential Equations (PDEs) or integral equations over a finite domain. Its ability to handle complex geometries and boundaries with relative ease and with a sound mathematical basis has made it the method of choice for solving problems such as structural mechanics, electromagnetic propagation and in some cases fluid dynamics. At the heart of the method are three main ingredients: • A variational formulation of the PDE, obtained by multiplying the PDE by a test function v and integrat-

978-1-4244-1631-8/07/$25.00 ©2007 IEEE

ing the resulting equation by parts over the domain of interest Ω. This results in a global criterion over Ω that encompasses both the PDE and the boundary conditions that are required to select a particular solution. This variational formulation usually decreases the amount of regularity required for the solution and is sometimes called the weak formulation of the problem. • The variational problem is then discretized. An approximation of the solution of the variational criterion is sought in a discrete space, in such a way that when the discretization step tends to zero, the approximation tends to the original continuous solution of the variational problem. The discretization is usually defined by meshing the domain Ω and by approximating the original solution of the variational problem using interpolation over the mesh. Even though any type of mesh can be used for the domain, people mostly rely on triangular or tetrahedral meshes because they are easier to adapt to the geometry of Ω. Quadrangular meshes are also often used. • Once discretized the problem is solved as a linear matricial problem, with matrices that are known to be sparse. This article focusses on the discretization part of the FEM method. As said above, traditionally, the discretization is obtained using a mesh depicting the domain Ω. The role of this mesh is just to provide a bridge between the discrete approximation of the solution and the continuous space. Basically, an infinite dimensional problem is approximated by a finite dimensional one that can be solved on a computer. Unfortunately, with very complex domains (such as biological tissues, eg the head) where very narrow structures appear, the meshing step can prove to be very difficult: either very huge meshes are needed to correctly approximate the domain geometry or the meshing step is prone to

various errors:

surfaces such a FEM simulations are more demanding on the quality of the extracted meshes:

• When the domain is constituted by many different interfaces, the meshing approximation (decimation) can introduce not only geometrical errors but also topological aberrations (interfaces crossing each other).

• The meshes obtained from various surfaces should not self-intersect.

• With complex domains and interfaces, the geometric errors introduced during the meshing step do not necessarily preserve topology. In such cases, it is not easy to be sure that the whole domain has been meshed and that there are not some connected components that have been ignored in the process.

• Volumes delimited by various meshes need to be meshed and fused in a single volumic mesh again with a controled quality and size.

For domains like the head, obtaining good meshes for the interfaces of the various tissues (white matter, grey matter, cerebrospinal fluid, skull, scalp) can take weeks of tweaking, requiring a lot of user interaction and involving various tools. Volumic meshes are even more difficult to create. This paper describes a technique that allows a direct computation of the FEM discrete matrices from levelset descriptions of the interfaces. This completely suppresses the need for adapting meshes to the geometry of the problem, thus removing one of the complicated steps of the FEM method. Previous work [1, 12] use levelsets as representations and computational engine for solving PDEs over 2D surfaces (by extending the PDEs to work on the levelset representation). This paper is fundamentally different in that it deals with solving PDEs over a 3D domain which geometry is depicted using several surfaces. Levelsets are used only for the representation of the input surfaces and the computational engine is the Finite Element Method. All these methods nontheless tackle the same problem of avoiding the meshing process for solving PDEs over complex domains The first section focusses on a particular FEM type of discretization and shows how adapted FEM matrix coefficients can be computed directly from levelsets embedded in a standard regular mesh. In a second section, examples of solutions computed with the proposed method are provided in the context of EEG forward problem simulations. Finally, some advantages and drawbacks of the method are discussed in the conclusion.

2. Implicit Meshes for FEM Levelset methods have gained a lot of popularity these last years [18, 14]. They are one of the most used tools to describe and extract surfaces in 3D images [15]. But, these descriptions usually need to be meshed so as to be useful for further purposes: even the simplest visualisation operation requires to build a mesh correponding to the modeled surface. This is usually done using a marching cubes algorithm [9, 10] followed eventually with several steps to improve the mesh quality and size. More complex use of these

• The meshes should have a controled size while preserving their topological and geometrical quality.

For these reasons, the problem of creating a volumic mesh from a set of levelsets is a difficult one often involving the use of many different tools and some hand polishing to get a proper result. This can be very time consuming and an obstacle to a more widespread use of FEM methods, especially when new meshes need to be created often, such as in the medical field where each patient is different. This is all the more disturbing that the meshes are used only to discretize a variational criterion and its solution, which then take the form of a linear system: Lu = Mf , where L and M are sparse matrices called the stiffness matrix and the mass matrix respectively, u is the discretized approximation of the solution and f is the discretized approximation of the input data. Computing L and M just requires a discretization Ωh of the space Ω on which the computation has to be made and a basis B for a discrete approximation of the space F of sufficiently regular functions defined on Ω. The most standard choice is to use tetraedral meshes for Ωh and piecewise linear functions over the mesh (P1 elements) to approximate F. In this case, the basis B is defined as the set of piecewise linear functions that take the value 1 on one nodal point of the mesh and zero on the other nodes. In this paper, the focus on another quite used family: Q1 elements. The reason is that the pixels (voxels) of an image readily provide a quadrilateral mesh and the standard Q1 function basis is exactly the one used with multi-linear interpolation in images. This is thus an attractive choice as the discrete functionnal space on which the minimization will be done is simply an image equipped with its standard interpolation for computing values at non-integer coordinates. The remaining of this article studies how to build the matrices L and M directly from levelsets in the 2D and 3D cases.

2.1. Q1 elements Consider a rectangular domain B of the embedding space in which the calculations have to be made. In order to solve the equations of interest over B, usually this domain has first to be tessellated in order to approximate the solution in the continuous domain by one in a finite dimensionnal space. In this work, a regular rectangular grid Gh

is used, where h is the “step” of the grid. For simplicity, it is assumed hereafter that the step is 1 in all dimensions. Obviously, the general case derives from this simple one by an appropriate rescaling of the domain. The nodes of this grid are denoted by Vi , where i = 1..N is a multi-index (a vector of integer indices of the apropriate dimension). The elements of this grid are squares (in 2D) or cubes (in 3D) and are denoted by Sj , j = 1..P . In Q1 finite element methods, a continuous functions f over B is approximated by a piecewise multilinear continuous function fh by: X fh (x) = f (Vn )φn (x) . n

The function φn is a piecewise multilinear function defined by: ( 1 k=n φn (Vk ) = (1) 0 otherwise When h tends to 0, fh tends to f . Obviously, the set of values f (Vn ) represents an image and fh corresponds to the classical multinear interpolation in images. From Eq. 1 and because the grid Gh is rectangular, it can be seen that, except at the borders, all the functions φn can be obtained by transfering at position Vn a standard function centered at the origin of the space φn (x) = φ(x − Vn ). In particular, φ can be depicted by its restrictions over the various elements surrounding the origin or equivalently by the various non-null restrictions of φn to a given element. Defining the function ρi as ( 1 − u if i = 0 ρi (u) = , u if i = 1 Fig 1 summarizes the properties of Q1 elements in the 2D and 3D cases.

2.2. Levelsets Let us first recall briefly what levelsets are. The levelsets technique was first hinted in [3] and then developped by Osher and Sethian [16]. Since then it has received a lot of attention for representing and evolving closed shapes in space. The basic idea of levelsets is to represent a surface S of codimension 1 (a curve in 2D or a surface in 3D) implicitly as the zero-level of a scalar function fS in its embedding space (eg R2 for curves or R3 for surfaces). It can easily be shown that variational transforms of S can be achieved through corresponding variational transforms on fS . In practise, the embedding space is tessellated with a square grid (squares in 2D, cubes in 3D) and fS is discretized as a 2D or 3D image. One key of the success of the levelset method is that complex shapes can be easily and conveniently manipulated as images. In this paper, we

depart slightly from the standard setup by adopting Q1 elements (usually Q0 elements – values are constant within each pixel/voxel – are used instead). This allows for two things: • The zero crossings within an element are well defined as the zero-crossings of the multi-linear function. • Consequently, the topology of the levelset is always well defined which is not the case with Q0 representations. Note that the levelsets that will be used hereafter have actually been evolved and defined using the Q0 setup. Using them in a Q1 setup is a slight abuse (the zero level is slightly moved). However, the displacements of the extracted surfaces incurred by this abuse is very small (much less than one pixel/voxel), which in turn has a very small impact on the computed integrals, so that the proof of concept exposed in this paper remains valid. Furthermore, Q1 levelset evolution and definition is clearly feasible (a step in this direction has been proposed in [19, 20] for P1 elements), so this is not a blocking factor. Denote by B the bounding box of a complex spatial domain and assume that this domain can be depicted as a finite set of subdomains Di , i = 1..N delimited by closed nonintersecting interfaces Sj , j = 1..M, Sj ∩ Sk = ∅ iff j 6= k. Denoting by I a tessellation of B, each interface Sj is represented by a levelset as an image. For simplicity, it is assumed that there is at most one interface crossing any pixel/voxel of I. This is just a technical requirement that can easily be overcome. Many tools have been proposed to obtain such levelset descriptions of complex domains [21, 5, 4, 7, 6, 17].

2.3. Computing the FEM integrals With the choice of Q1 elements, the integrals that have to be computed for our applications are simply integrals of polynomials of degree at most 5 and degree at most 2 in each of the variables. The following analysis is thus restrained to monomials of this degree properties. In the 2D case, assume that the monomial integrand is m(x) = m(x, y) and that M (x, y) is the primitive of m(x, y) defined by: Z y M (x, y) = m(x, u)du . 0

Since m is a monomial, M is a also a monomial in x and y. Once the integrals of the various monomials are obtained they are easily combined into the full polynomial integrals. The next two sections describe the monomial integrations in the 2D and 3D cases.

T

T

x = [x y]

Coordinate system I00

x = [x y z]

I10

I010

I011

I000 I100

Element shape I110

I01

Bases functions

Shape of a function

I11

φij (x) = ρi (x)ρj (y)

f (x, y)

=

1 X 1 X

I111

I001

I101

φijk (x) = ρi (x)ρj (y)ρk (z)

Iij φij (x) f (x, y, z)

=

i=0 j=0

1 X 1 X 1 X

Iijk φijk (x)

i=0 j=0 k=0

Figure 1: Summary of the Q1 elements and basis functions in the 2D and 3D cases. The values Iij and Iijk are the values attached to the nodes of the elements. The third line gives the basis functions φn attached to the node n where n is a multi-index. 2.3.1

Computing the monomial integrals in the 2D case.

In the 2D case, the restriction to each voxel of a levelset takes the form: f (x, y) = c00 xy + c10 x + c01 y + c00 . For a pixel that crosses the interface, it is easy to parameterize the curve corresponding to the zero crossing x+c00 as (x, − cc10 ) for some range of values of x. As for 11 x+c01 the marching squares method, after normalisation by symmetry and rotation, there are basically four cases that can happen. Those correspond to different topological configurations and are shown in Fig. 2. Case (a) is trivial with integrals over the green domain being 0 and integral over the red domain being easily computed. Case (b) is the basic one: the green domain is defined by Green = o n c10 x+c00 (x, y)/x ∈ [0, x0 ], y ∈ [0, − c11 x+c01 ] , where x0 is the intersection of the zero-crossing of the curve with the xaxis. Cases (c)-(d) are just variants of case (b): • Case (c) is the same as case (b) with a range over the horizontal axis of [0, 1] (i.e. x0 = 1). • Case (d) is just the sum of two cases of type (b), one in the configuration shown and one with the same configuration but rotated by 180◦ .

(a)

(b)

(c)

(d)

Figure 2: The basic four cases that can arise for computing the integrals. The red and green colors correspond to levelset values of differents signs (exactly which sign is not meaningful). The black curve corresponds to the zerocrossing, while the red and green areas correpond to the two separate domains on which the integrals must be computed. The horizontal and vertical axes corresponds to the variables x and y respectively.

integrals can then be computed as: Z

Z Z

Assume that integrals over the green domain need to be computed (the integrals over the red domain are simply the integrals over the full pixel minus the green integrals). The

m(x, y)dydx

=

Green

Z

c

x+c

− c10 x+c00 11

01

m(x, y) dydx « „ x0 c10 x + c00 M x, − dx . c11 x + c01 0 0

Z =

x0

0

Since M is a monomial, this is just the integral of a rational function that can be calculated explicitly and implemented using simple rational functions and logarithms1 . There are, however, two important points to take into account for the implementation: • The argument of the logarithm that appears in the formulae (all monomial involve the same value) can be zero when top = c11 c00 − c10 c01 = 0. This is related to a topological change of the zero-crossing of the levelset and corresponds to the case where f (x, y) = (ax + b)(cx + d) for some values of a, b, c, d. In such a case (and for all situation where top is small), the explicit expressions need to be replaced by their limit when top tends to 0 which are polynomials that can be obtained explicitely. • If c11 = 0, the integrals are even simpler to compute as the rational function becomes a simple affine one. However, when c11 is close to zero the explicit formulae are poorly conditionned numerically (especially when the monomial degree increases). As an example, for the integral corresponding to the monomial x2 y 2 all the first six terms of the Taylor expansion cancel. For this reason, it is better to rely on the first non-zero terms of the Taylor expansion to estimate the integral values for small values of c11 . Practically, 20 terms of the Taylor expansion have been used. The full algorithm is then the following: 1. Using rotations, symmetry and change of sign of the levelset, normalize the given element to be one of Fig 2. 2. Compute the value of x0 according to the case: x0 = − cc00 for cases (b) and (d) and x0 = 1 for case (c). 10 3. Compute the various integrals using the explicit formulae. 4. For case (d), apply a 180◦ degree rotation over the element, compute the integral values as in step 2 and 3, apply the transforms needed to bring these values back into the original space (simple linear combinations of the various computed integrals in general) and add those values to the ones computed at step 3. 5. Compute the values corresponding to the integrals in the original configuration (ie before using rotations and symmetries of step 1). Again, these are normally simple linear combinations of the values computed at step 4.

Figure 3: A voxel is sliced along the vertical axis. For each slice, 2D integrals can be computed explicitly. The 3D integrals are then obtained using numerical integration.

6. Assemble the monomials into the polynomials of interest.

2.3.2

Computing the monomial integrals in the 3D case.

Because the 2D integrals already involve logarithms, there is little hope of obtaining explicit formulae for monomial integrals in the 3D case2 . This is all the more true that the number of topological situations is much bigger (see eg [2, 8] for an explicit study of these configurations in the Q1 case). The problem was thus solved using numerical integration. As depicted in Fig. 3, the 3D voxel is considered as a 1D family along the z-axis of 2D squares. For each square, the monomial integrals can be computed using the method depicted in Sect. 2.3.1 and a Gauss-Kronod numerical integration method with 61 points has been used to integrate those values along the z-axis. Care has to be taken to split the z-axis [0, 1] into pieces for which the 2D slices share the same topology (otherwise some inacurracies may occur). Since topology changes are related to changes of signs on the corners of the 2D slice, and since Q1 elements have been used (so that the levelset function varies linearly along the z-axis), there are at most four such changes along the z axis (one for each corner of the 2D slices).

3. Results The previous formalism is used here with a synthetic problem and an application to EEG forward computation to show its performance. In the first section, it is simply used to estimate the simplest possible integral: a volume. Spheres are used in order to have a known ground truth. The second section applies the formalism to our target application: EEG forward problem estimation [13, 11]. This is done first on a spherical model for which the ground truth is known and then for a realistic head model.

1 Explicitely

giving all the formulae in this paper would be tedious, error prone and not very interesting. A maple function that computes the relevant elements is available at http://wwwsop.inria.fr/odyssee/softwares/ImplicitMesh.

2 The authors know at least one simple generic case where this is feasible, but the formula obtained even for simple monomials are huge and difficult to implement.

1

50

0.8

40

0.6

30

10

0.2

10

20

30

40

50

60

0

10000

20000

30000

40000

50000

Figure 4: The relative accuracy of the volume of the sphere (left). The horizontal axis gives the radius of the sphere. The vertical one give the relative error of the computed volume. The red curve corresponds to the proposed technique whereas the blue one gives the value obtained by a simple counting of the inner voxels. The right plot gives the computational times with respect to the sphere area (horizontal axis).

3.1. Volume of spheres Volumes are naturally the simplest integral that can be estimated. Here spheres have been used so that the ground truth is known. Figure 4 shows the accuracy and timings of the proposed technique. Even at lowest curvatures, the accuracy is always better than that of a tetraedral mesh with similar spatial size. As in the remainder of the paper, Q0 levelsets have been used directly: this makes these experiments more meaningful. Note that Q0 levelsets are hardly able to recover details of such high curvature as 3 pixels (for which the accuracy is already less than 5%). Optimally fitting the levelset values so that its zero-crossing best fits the sphere would yield much improved values (but this obviously cannot be done without the analytical model of the surface, which is not available in general). The figure also shows that the computational time needed to compute all the monomials (that will also be used in the next section) is proportional to the area of the interface (the sphere in this case).

3.2. EEG Forward Problem The EEG forward problem is governed by the PDE: ∇ · (Σ∇V ) = ∇ · Jp on the head domain Ω with the condition Σ∇V · n = 0 on the boundary of the head (the skin and the cut through the neck). This equation relates the potential V in the head with the sources of the electrical activity Jp and the conductivity tensor Σ (which can be anisotropic). Using standard FEM techniques [23], this problem is reformulated in a variational form as: V = arg

min

φ∈H 1 (Ω)

1 2

Z

∇φ(r)T Σ(r)∇φ(r) dr+ Ω

(i, j) ∈ {x, y, z}2 .



20

0.4

0

the integrals: Z ∂i φk (r)∂j φl (r)dr

Z

∇·Jp (r)φ(r) dr , Ω

(2)  with H 1 (Ω) = w ∈ L2 (Ω), ∇w ∈ L2 (Ω)3 . For the first term of (2) involving the conductivity tensor Σ, the discretization with Q1 elements leads to the computation of

Using the technique of section 2 implies that 23 different monomials (the highest degree monomials are x2 y 2 , x2 z 2 , y 2 z 2 , x2 yz, xy 2 z, xyz 2 ) are involved. The second integral term of (2) is computed similarly and relies on similar monomials. 3.2.1

Spherical Model.

The accuracy is first evaluated by computing the electric potential on a 3-sphere model with a single dipolar source. In this configuration, there is an analytic expression of the potential which can be used as a ground truth to estimate the error of the method [22]. The spherical model is composed of 3 spheres of radii 0.87, 0.92, 1. The conductivity values are 0.33, 0.0042, 0.33 from inside to outside for the isotropic case, and the conductivity of the middle layer (corresponding to the skull) is 0.008 in tangential direction and 0.0008 in normal direction for the anisotropic case. The accuracy of the numerical solution is given by the Relative Difference Measure (RDM) on the outermost sphere :

Vnum Vanal

− RDM =

kVnum k kVanal k where Vnum is the numerical solution and Vanal is the analytic solution. Figure 5 shows the RDM with respect to the eccentricity of the dipole. The dipole eccentricity increases in z direction, and the dipole orientation is always (1, 0, 1), which encompasses both radial and tangential orientations. As expected, the error increases when the dipole gets closer to the innermost sphere, but the RDM is at most 4% with a good resolution (256 × 256 × 256). The method is also compared to the classical tetrahedral mesh FEM. Figure 6 shows the RDM with respect to the analytic solution in an homogeneous sphere with constant conductivity. Table 1 illustrates the computation time of both FEM approaches. For the same discretization (equivalent number of points), the method is more accurate, and its computational cost is smaller, both in memory and time. 3.2.2

Real Head Model.

To model a real head, an MRI image of size 256×256×256 has been taken and segmented using four levelsets (also within a 256 × 256 × 256 discretized domain). Figure 7 (a) shows a cut through this model. Figure 7 (b) shows the computed potential over the skin. For this model constant conductivities have been used for each of the five sub-domains. Building such a model using standard meshing techniques would require a lot of work and would be huge whereas the

0.2 0.18

64x64x64 isotropic

0.16

128x128x128 isotropic

0.14

256x256x256 anisotropic

256x256x256 isotropic

RDM

0.12 0.1 0.08 0.06 0.04 0.02 0 0.4

0.45

0.5

0.55

0.6 0.65 0.7 Dipole eccentricity

0.75

0.8

0.85

0.9

Figure 5: Accuracy of the forward EEG computations with respect to the eccentricity of the source (horizontal axis) and the size of the discretization. The vertical axis represents the relative error. 0.035 Tetrahedral mesh, 106 points

0.03

Implicit mesh, 106 points

RDM

0.025

(a)

(b)

Figure 7: EEG computation on a real head model. Left: the five layers model used to compute the solution. From the outside to the inside, this model contains the air (black), the skin, the skull, the cerebro-spinal fluid and the brain (white). Notice how the brain is complex. To model this using standard meshing techniques would require a huge number of tetraedra and a lot of user interaction to build the model. Right: the potential value displayed on the skin for a given source in the brain.

0.02 0.015 0.01 0.005 0.4

0.45

0.5

0.55

0.6 0.65 0.7 Dipole eccentricity

0.75

0.8

0.85

0.9

Figure 6: Comparison of the method with tetrahedral mesh FEM in an homogeneous sphere. Number of points

Edge size

Assembly time

Memory space

Solving time

Tetrahedral

1e6

0.018

2mn45s

1GB

1h07mn

Implicit 128x128x128

1e6

0.016

3mn17s

140MB

8mn

Implicit 256x256x256

8e6

0.008

13mn51s

1.2GB

1h38mn

Table 1: The computational performances of the method are compared to tetrahedral FEM. For similar discretizations, the memory cost is smaller, leading to a smaller computation time of the solution. As a consequence, the method can handle higher resolutions. matrix computed by the proposed technique has been computed in about 12 minutes (on a 2GHz laptop). With the current techniques, a standard meshed model with a similar accuracy could not have been run on such a laptop.

4. Conclusion It is possible to compute the FEM matrices directly from levelsets-based segmentations. For complicated domains that need to be adapted regularly (such as medical models), this technique has many practical advantages. The time

needed to produce the FEM model is typically decreased by an order of magnitude for complex models such as the head. This time is directly proportional to the total area of the interfaces used in the model and can be bounded a priori. Most importantly, the technique needs absolutely no user interaction and can be totally automated. It allows for production of very accurate models (at the resolution of the MR images that are the support for the levelsets) at moderate and known a priori costs. Finally, the discretization being used being essentially compatible with images, it is easy to leverage the volumic display tools to explore the solution if necessary. This can be useful for complicated domains such as the cortex. Using more traditional meshbased display tools is still possible. The main drawback of the technique is that less control of the solution at the interfaces is possible. Further benefits can be obtained thanks to the regular discretization structure. Many parts of the code were easily parallelized using OpenMP, what can be very effective with the democratization of multi-core CPUs. Using multiscale techniques is also possible.

References [1] M. Bertalmío, L.T. Cheng, S. Osher, and G. Sapiro. Variational problems and partial differential equations on implicit surfaces. Journal of Computational Physics, 174(2):759–780, 2001. [2] E. Chernyaev. Marching cubes 33: Construction of topologically correct isosurfaces. Technical Report CN/95-17, CERN, August 1995.

[3] A. Dervieux and F. Thomasset. A finite element method for the simulation of Rayleigh-Taylor instability. Lecture Notes in Mathematics, 771:145–159, 1979. [4] R. Goldenberg, R. Kimmel, E. Rivlin, and M. Rudzsky. Cortex segmentation: a fast variational geometric approach. IEEE Transactions on Medical Imaging, 21(12):1544–1551, 2002. [5] J. Gomes and O. Faugeras. Reconciling distance functions and level sets. Journal of Visual Communication and Image Representation, 11(2):209–223, 2000. [6] X. Han, D.L. Pham, D. Tosun, M.E. Rettmann, C. Xu, and J.L. Prince. CRUISE: Cortical reconstruction using implicit surface evolution. NeuroImage, 23(3):997–1012, 2004. [7] X. Han, C. Xu, and J.L. Prince. A topology preserving level set method for geometric deformable models. IEEE Transactions on Pattern Analysis and Machine Intelligence, 25(6):755–768, 2003. [8] Adriano Lopes and Ken Brodlie. Improving the robustness and accuracy of the marching cubes algorithm for isosurfacing. IEEE Transactions on Visualization and Computer Graphics, 9:16–29, 2003. [9] W.E. Lorensen and H.E. Cline. Marching cubes: A high-resolution 3D surface reconstruction algorithm. ACM Computer Graphics, 21(4):163–170, 1987. [10] William E. Lorensen and Harvey E. Cline. Marching cubes: A high resolution 3d surface construction algorithm. In M.C. Stone, editor, Proceedings of the SIGGRAPH, pages 163–169, Anaheim, CA, July 1987. in Computer Graphics, Volume 21, Number 4. [11] Gildas Marin, Christophe Guerin, Sylvain Baillet, Line Garnero, and Gérard Meunier. Influence of skull anisotropy for the forward and inverse problems in EEG: simulation studies using FEM on realistic head models. Human Brain Mapping, 6:250–269, 1998. [12] Facundo Mémoli, Guillermo Sapiro, and Stanley Osher. Solving variational problems and partial differential equations mapping into general target manifolds. Journal of Computational Physics, 195(1):263 – 292, 2004. [13] John C. Mosher, Richard B. Leahy, and Paul S. Lewis. EEG and MEG: Forward solutions for inverse methods. IEEE Transactions on Biomedical Engineering, 46(3):245–259, March 1999. [14] S. Osher and R. Fedkiw. The Level Set Method and Dynamic Implicit Surfaces. Springer-Verlag, 2002.

[15] S. Osher and N. Paragios, editors. Geometric Level Set Methods in Imaging, Vision and Graphics. Springer Verlag, 2003. [16] S. Osher and J.A. Sethian. Fronts propagating with curvature-dependent speed: Algorithms based on Hamilton–Jacobi formulations. Journal of Computational Physics, 79(1):12–49, 1988. [17] F. Ségonne, J.-P. Pons, E. Grimson, and B. Fischl. A novel level set framework for the segmentation of medical images under topology control. In Workshop on Computer Vision for Biomedical Image Applications: Current Techniques and Future Trends, 2005. [18] J.A. Sethian. Level Set Methods. Cambridge University Press, 1996. [19] M. Weber, A. Blake, and R. Cipolla. Sparse finite elements for geodesic contours with level-sets. In ECCV, 2004. [20] M. Weber, A. Blake, and R. Cipolla. Sparse finite element level-sets for anisotropic boundary detection in 3d images. In Scale-Space, 2005. [21] X. Zeng, L.H. Staib, R.T. Schultz, and J.S. Duncan. Segmentation and measurement of the cortex from 3D MR images using coupled surfaces propagation. IEEE Transactions on Medical Imaging, 18(10):100–111, 1999. [22] Zhi Zhang. A fast method to compute surface potentials generated by dipoles within multilayer anisotropic spheres. Phys. Med. Biol., 40:335–349, 1995. [23] O.C. Zienkiewicz and R.L. Taylor. The Finite element method, 4th ed. Mac Graw Hill, 1987.