Medical Imaging Interaction Toolkit  2018.4.99-12ad79a3 Medical Imaging Interaction Toolkit
mitk::ACVD Namespace Reference

## Classes

class  RemeshFilter
Encapsulates mitk::ACVD::Remesh function as filter. More...

## Functions

MITKREMESHING_EXPORT Surface::Pointer Remesh (Surface::ConstPointer surface, unsigned int t, int numVertices, double gradation, int subsampling=10, double edgeSplitting=0.0, int optimizationLevel=1, bool forceManifold=false, bool boundaryFixing=false)
Remesh a surface and store the result in a new surface. More...

## ◆ Remesh()

 mitk::Surface::Pointer mitk::ACVD::Remesh ( Surface::ConstPointer surface, unsigned int t, int numVertices, double gradation, int subsampling = 10, double edgeSplitting = 0.0, int optimizationLevel = 1, bool forceManifold = false, bool boundaryFixing = false )

Remesh a surface and store the result in a new surface.

The ACVD library is used for remeshing which is based on the paper "Approximated Centroidal Voronoi Diagrams for Uniform Polygonal Mesh Coarsening" by S. Valette, and J. M. Chassery. There are a few rules of thumbs regarding the ranges of parameters to gain high quality remeshed surfaces:

• numVertices is exact, however, if boundaryFixing is enabled, additional vertices are generated at boundaries
• Set gradation to zero in case you want polygons of roughly the same size all over the remeshed surface; start with 1 otherwise
• subsampling has direct influence on the quality of the remeshed surface (higher values take more time)
• edgeSplitting is useful for surfaces that contain long and thin triangles but takes a long time
• Leave optimizationLevel set to 1 as greater values result in degenerated polygons
• Irregular shrinking of boundaries during remeshing can be avoided by boundaryFixing, however this results in additional, lower quality polygons at boundaries
Parameters
 [in] surface Input surface. [in] t Time step of a four-dimensional input surface, zero otherwise. [in] numVertices Desired number of vertices in the remeshed surface, set to zero to keep original vertex count. [in] gradation Influence of surface curvature on polygon size. [in] subsampling Subsample input surface until number of vertices exceeds initial count times this parameter. [in] edgeSplitting Recursively split edges that are longer than the average edge length times this parameter. [in] optimizationLevel Minimize distance between input surface and remeshed surface. [in] boundaryFixing Keep original surface boundaries by adding additional polygons.
Returns
Returns the remeshed surface or nullptr if input surface is invalid.

Definition at line 70 of file mitkACVD.cpp.

References MITK_INFO, and ValidateSurface().

Referenced by mitk::ACVD::RemeshFilter::GenerateData().