|Home | About | Journals | Submit | Contact Us | Français|
In this paper, we present a method for automatically generating tetrahedral meshes from 3D images with multiple region labels. The first step consists of constructing an adaptively sized tetrahedral mesh that conforms exactly to the voxelized regions in the image. Active surfaces (active contours in 2D) are then employed to smooth the region boundaries and remove the voxelization. Specifically, an energy with three terms is minimized: a smoothing term to remove the voxelization, a fidelity term to keep the mesh from moving too far away from the image data, and an elasticity term to keep the tetrahedra from becoming flattened or inverted as the mesh deforms. The algorithm for tetrahedral mesh generation is applied to an MRI image that has been automatically segmented using an existing method. The resulting mesh has a number of desirable properties such as tetrahedra with all dihedral angles away from 0 and 180 degrees, smoothness, and a high level of detail for the number of tetrahedra used.
Finite element methods have been widely used in physics based modeling for some time, but are now beginning to be used in image processing applications as well, such as image registration  and various types of deformable modeling. Tetrahedral elements are most commonly used for 3D finite element modeling and therefore these applications require a tetrahedral mesh to be generated. Tetrahedral mesh generation is an active area of research even for single region objects with well defined boundaries due to difficulties in maintaining good tetrahedral quality, as discussed in ,. One measure of tetrahedral quality which we discuss in the paper is a tetrahedron's dihedral angles, defined as the angle between two faces of a tetrahedron. Generation of a tetrahedral mesh from an image poses even more difficulties due to the voxelization of the image, which is assumed to be a byproduct of how the image is captured and stored and not reflective of the true shape of the imaged object. For example, Figure 1 (left) shows a tetrahedral mesh that conforms exactly to an image of a perfect sphere. Figure 1 (right) is a mesh of the same image but with the voxelization removed using the method described below, and is assumed to be a better representation of what the true object looks like. Another means of removing the voxelization would simply be to take tetrahedra much larger than the voxel size, but this results in data loss which is why it is not done here. Several methods have been designed to or adapted to work specifically for medical images. Whether or not a mesh is considered to be good is somewhat dependent on the application, but a few properties considered here are the dihedral angles of the tetrahedra, the adaptivity of the tetrahedral sizes, conformity to the data, and smoothness. A handful of existing methods are briefly summarized below.
One of the most common methods is the Delaunay mesh generation method . It starts with an explicit representation of the region boundaries. A means of finding the boundaries in images for Delaunay mesh generation has been done in . It has a number of good features, such as being able to work with multiple regions and complicated shapes while generating a boundary conforming mesh. One major drawback of the Delaunay method is that it can admit tetrahedra with very small dihedral angles, although some research has attempted to address this. More importantly in the context of medical imaging, is that the exact boundary conformation is only useful for sub-voxel sized tetrahedra when paired with some means of removing the voxelization. This is done by first constructing a good quality topologically accurate surface mesh as an input. The Delaunay method is sensitive to topological defects of the input surface mesh such as self-intersections and overlapping regions. In cases where there are multiple regions with complicated boundaries, it can be difficult for a surface meshing algorithm to get the topologically correct mesh. In contrast, our method works directly on segmented images, instead of on surfaces extracted form them, and therefore avoids these problems.
Another method for tetrahedralizing images based on octree techniques is presented in . This one also has a number of potentially desirable attributes, as explained in the paper. Yet this method, as well as , are quite different from the one here in the approach they use to obtain decent quality tetrahedral elements. In  and , a poor quality mesh is generated and then a number of different techniques are used to improve the mesh quality. In contrast, the method below never involves poor quality elements and finishes as soon as the mesh is generated. So it is possible existing methods could further improve the mesh quality beyond what is presented here, but we haven't yet attempted that, and make no claims about how effective those mesh improvement methods might be. But even without any mesh improvement methods, our method compares quite well, as we discuss in detail below.
In  and , the authors propose covering objects of interest with tetrahedra and subdividing the ones on the boundary in clever ways for accurate modeling to the boundary. But these methods use tetrahedra larger than a voxel in size and hence would require some means of smoothing the boundary to obtain good results for subvoxel sized tetrahedra.
Method  gives good tetrahedral quality. It works by covering the entire single region of interest with adaptively sized tetrahedra. A force is then applied to push the boundary nodes to lie exactly on the known boundary. However, this method will not create a single mesh with multiple smooth region labels, which we are interested in here. We make use of their adaptive mesh as well as the elastic energy they used (developed by both  and ) which is particularly good and maintaining element shape. We give more details in the methods section.
There are also other methods, such as , that give good element quality. We refer to the papers mentioned here both for more complete explanations and for additional references to some of the many other tetrahedral meshing papers.
In the current paper, a voxel conforming mesh is constructed that has good quality tetrahedra and adaptive sizes inside the regions. The underlying image is assumed to be smooth and as such requires the removal of the voxelization. To perform the smoothing, we draw on the methodology of active surfaces. Active contours refers to a body of research (including , and  for example) concerned with finding objects in noisy or otherwise degraded 2D images. This is done by starting with a simple initial curve (usually a circle) and evolving it to the boundary of an object by attempting to minimize an energy. The energy typically contains a term for how well the curve matches the boundary and a regularization term, relating to the smoothness or length of the curve in some way. For the current problem, it is not noise that is trying to be overlooked, but voxelization. That is, the small features, the voxelization, need to be removed while keeping the overall shape of the regions entirely intact. The energy to be minimized is given in the methods section, which is inspired from some that are used for segmentation and registration.
The starting point for our method is an image that has been segmented into multiple regions at the voxel level. There exist many good methods for finding regions of interest even if the image quality is poor. The voxel based active surface methods discussed previously work well. For the example to follow, we use a computer learning based method, fully described in , which automatically segments the brain into 56 regions.
Every voxel is represented as a 1 by 1 by 1 box. If two boxes of a different type share a face, we take that as a boundary. We use the fast marching method  to generate a distance function that at every point gives the distance to the nearest boundary. We use the distance function both for adaptively sizing the tetrahedra and for the active surface smoothing, as discussed below.
In this step, a tetrahedral mesh that conforms exactly to the voxelized regions of interest is created. Every 1 by 1 square on the boundary of a region is composed of two tetrahedral faces. On each side of the boundary, two tetrahedra, taken together, form a pyramid, whose base is the 1 by 1 square of the boundary and whose apex is exactly at the center of a 1 by 1 by 1 box formed from a single voxel. In this way, no tetrahedra can have all 4 nodes on the boundary.
For the interior tetrahedra, an adaptive BCC mesh proposed in  is used. It starts with large tetrahedra and refines them into 8 identical smaller tetrahedra over and over again. The signed distance function is used to determine how many refinements are made. Tetrahedra near the boundary are refined many times, making the tetrahedra smaller there, and the interior tetrahedra fewer times, making them larger. There is also a procedure for removing T-junctions. This allows interior tetrahedral elements to be adaptively sized and of good quality.
In this section, the voxelization is removed while maintaining the overall shapes of the regions. Specifically a displacement vector field, v, is sought that minimizes an energy G(v). The energy is defined on the domain Ω, also the image, which is broken up into N regions. G(v) has three terms, an elastic term, E(v), a smoothness term, S(v), and a fidelity term F(v). The formula for the energy is:
The first term, an elastic energy term has been used in active contour based registration, , for regularization. Here its primary purpose is to keep the tetrahedra from being flattened. Altitude springs are used for the elastic energy, as suggested in  and , for their ability to preserve tetrahedral shape. The model is that a spring is attached from every point on a tetrahedron to the triangular base on the opposite side.
The second term is a smoothing term involving level sets, 0,m. Each region 1, . . ,m, . . . N, has its own associated level set. Each level set is nonzero only on its corresponding region. This is done because in many examples, like the segmented brain below, the required time and storage for level sets defined over the whole domain would be immense. And there is no topological change allowed here or any compelling reason we have thought of to define the level sets over the whole domain. Also, note that the level sets themselves are not evolved but a map v, as is done in .
The third term is a fidelity term similar to ones used in  and . Inside the integral there are three parts multiplied together. The first two parts inside the integral look complicated, but when multiplied together they are either just, at each x, 0, if the mesh label and image label match, and 1 if the mesh label and image label don't match. The third part is multiplied in to allow the mesh some leeway to smooth out. That is, a penalty will be added at a given x only if the mesh and image disagree by more than half a voxel.
The three parameters used here are α, β, and κ. The parameter β is taken to be much larger than α in the examples below (25 times larger) to ensure that the smoothness did not come at a loss of data fidelity. Reducing the size of the elasticity term is done more carefully as described in the next section.
The minimum of the above energy is found by solving the Euler-Lagrange equation via gradient descent.
We solve the above PDE using forward Euler, linear basis functions, and a lumped mass formulation. Hence, no linear system needs to be solved at each time step .
In the end, the location of the region boundaries should be primarily dictated by the fidelity and smoothing terms, F(v) and S(v), and not the elasticity term, E(v). At the same time, the elasticity term should be sufficient to avoid element collapse. In order to accomplish this, for the boundary points, the first component of the Euler-Lagrange equations that is parallel to the sum of the second two is reduced. (in , a similar procedure is used in the context of that method). Additionally, when the quality of a tetrahedra is reduced below a threshold value (measured by the tetrahedral dihedral angles), the elastic response of higher quality tetrahedra around it are reduced to prevent further collapse of the low quality tetrahedra. Both of these approaches appear to provide better results than an overall reduction in the elasticity term, (i.e. making κ very small). Heuristically, we find that in larger, smoother regions the tetrahedra quality can be maintained at acceptable levels while having a very small impact on the location of the region boundary. In smaller or poorly shaped regions, the elasticity term needed to have more of an effect on the region boundaries to avoid element collapse. We suspect that the 12 or so tetrahedra that represent each boundary voxel is not enough to adequately smooth out a region, or part of a region, that is only a few voxels in volume. It may be necessary to increase the resolution in these areas, but that isn't done here. On the other hand, having the mesh not be completely smooth in a few places may be preferable to either poorly shaped tetrahedra or vastly increasing the number of tetrahedra. In the examples below, the smoothing is simply stopped at an element's 4 nodes when the dihedral angles become too poor.
Two examples of our mesh generation are presented in figures figures11 and and2.2. In figure 1 (left), the equation of a perfect sphere is used but when put on a finite grid it ends up with voxelization as shown. Figure 1 (middle and right) show the recovered sphere, which is round, and a box surrounding it, which is slightly rounded at the corners, but otherwise maintains its shape. The box and sphere in the figure are separated to better show the boundary between the two, but they fit together exactly in a single mesh. The minimum dihedral angle is 16 and maximum dihedral angle is 157. Figure 2 shows a brain which has been automatically segmented into 56 regions using . The minimum dihedral angle is 14 and maximum is 158.
We presented a method for the generation of tetrahedral meshes and tested it on an automatically segmented brain image. We believe that this method could be useful for many other medical imaging applications as well. It is able to generate a good quality mesh from images with a large number of regions even if the segmentation is poor in some areas as might occur for an automatic segmentation. Following additional refinement and validation of the approach, software embodying the methods for tetrahedral generation and smoothing described here will be made publicly available via the Laboratory of Neuro Imaging (LONI) web site for use with the LONI Pipeline  workflow environment.