Surface Meshes Smoothing

,


Introduction
Extracting surface mesh models from given volume images or level sets is a common step in many applications, such as visualization, intervention planning and quantification. In many cases surface mesh smoothing is required.
In VTK, another NAMIC toolkit, vtkSmoothPolyDataFilter also implements a Laplacian smoothing. Our implementation is for the QuadEdgeMesh [4] data structure. Our filter does not support feature edges at this time like the VTK filter does, e.g. all edges are filtered equally. However, it implements a lot of different weights to smooth the mesh depending on different quality factors of the local surface. One unique feature that improves greatly the quality of the resulting smooth surface is the ability to use internally a Delaunay Conforming Filter [2]. The Delaunay conforming filter ensure that the triangles have the best form factor possible, and result in optimum configuration for laplacian smoothing.

Description
itkQuadEdgeMeshSmoothing is a filter that adjusts point coordinates using Laplacian-like smoothing. The effect is to "relax" the mesh. Note that this filter operates only on itkQuadEdgeMesh(es) [4].
The algorithm proceeds as follows. For each point p n i at a given iteration n, a topological analysis (analysis of the one-ring N(i)) is performed to determine which points p n j are connected to p n i , and which cells are connected to the same point. Note that if no Delaunay conforming is used, the topology is constant and p n j = p j . Next, an iteration phase begins over all Points p n i . The new coordinates of the point p n+1 i are modified according to a weighted average of the connected points p n j .
(A relaxation factor, m RelaxationFactor in ]0, 1], is available to control the amount of displacement). The weights α i j can be computed using different formula described shortly in the following section and more in details in [1].
Warning: The Laplacian operation reduces high frequency information in the geometry of the mesh. With excessive smoothing important details may be lost, and the surface may shrink towards the centroid.

Implementation Details
There is one main class, itk::QuadEdgeMeshSmoothing, that does all the job. It is templated over the Input and Output Mesh Types.
m RelaxationFactor is given by the user, and is in ]0, 1] m NumberO f Iterations is given by the user m DelaunayCon f orming is a boolean that lets the user optimize the triangle aspect ratio in the same time as smoothing, it leads to a better mesh in terms of valence, and triangle aspect ratio. Note that the resulting mesh is then an intrinsic Delaunay triangulation of the surface. Note that this operation can be quite expensive since it is applied at the end of each iteration.

Results
We first ran the algorithm on a relatively simple dataset already included in ITK which represent a tooth ( /Insight/Testing/Data/Input/geusZeroSurface01.vtk ). We ran it using only 5 iterations, once with and once without Delaunay conforming. This dataset is perfect example of what you obtain after a surface extraction algorithm followed by a decimation. Output of surface extraction algorithm have close to regular connectivity, and have good triangle quality factor and usually do not require Delaunay conforming. However, they are tremendously over-sampled, as the sampling is done on the regular grid of the original image. Users hence almost always decimate the mesh, in order to capture the same geometry with the minimum vertices or triangle budget. The decimation algorithms are unfortunately oblivious to connectivity, and result in some very high valence points in the area of low curvature (attraction point for the merging algorithm). The geometry is well captured, up to the artifacts caused by the surface extraction algorithm. However lots of vertices are connected to way more than 6 edges and that is known to cause numerical instabilities for mesh processing algorithms that use the local connectivity graph as a support, like laplacian smoothing. We can see on figure 1 that using the Delaunay conforming during the smoothing improves the connectivity and the triangle aspect ratio.
For the second dataset we used a pelvis model, courtesy of of the Visualization Research Group, University of Magdeburg ( http://isgwww.cs.uni-magdeburg.de/ rbade/meshsmoothing/data/index.html ) This dataset is the output of a surface extraction algorithm and need serious smoothing. Figures 2 show the great improvement in the geometry. No Delaunay conforming as been used here. There was no decimation after extracting the surface and that is why, as explained above, we did not need to apply Delaunay conforming.