taubinFilter edit page

shrinkage free smoothing of grain boundaries

Description

A Laplacian is a low pass filter with gain 1-lambda*k, which is smaller than one everywhere except at k = 0. Iterating it therefore shrinks every convex region, without bound - a grain smoothed long enough disappears.

Taubin's fix is to follow each smoothing pass by a slightly larger unshrinking pass with a negative step mu, so that the gain over the pair is (1-lambda*k)(1-mu*k). With mu chosen a little below -lambda this product is approximately one over the low frequencies, i.e. the shape is smoothed while the area is given back.

This is approximate, not exact - the areas do move, just not systematically in one direction.

Reference: G. Taubin, A signal processing approach to fair surface design, SIGGRAPH 1995.

Syntax

grains = smoothBoundary(grains,taubinFilter)
F = taubinFilter;
F.iter = 10;
grains = smoothBoundary(grains,F)

Class Properties

iter number of shrink/unshrink pairs (default: 5)
lambda the smoothing step (default: 0.5)
mu the unshrinking step, negative and slightly larger in modulus than lambda (default: -0.53)

See also

grain2d.smoothBoundary boundaryFilter laplaceFilter curvatureFilter

Citing this page. This page is part of the documentation of MTEX, a free and open source MATLAB toolbox for analyzing and modeling crystallographic textures. It was written by The MTEX Developers and is published at https://mtex-toolbox.github.io/taubinFilter.html. If you use MTEX, or reuse text or figures from this page, in your research, please cite

F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63

BibTeX
@article{bachmann2010mtex,
  author  = {F. Bachmann and R. Hielscher and H. Schaeben},
  title   = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
  journal = {Solid State Phenomena},
  volume  = {160},
  pages   = {63-68},
  year    = {2010},
  doi     = {10.4028/www.scientific.net/SSP.160.63},
  url     = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}

Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.