the total variation filter of the orientations of a map, absolute in the data term and in the differences between neighbours, which smooths noise and keeps sharp steps

Syntax

F = l1TVFilter()

Smoothing over four steps of the map.

F = l1TVFilter(10)

Smoothing over a length in the map’s units.

F = l1TVFilter(alpha=0.1, threshold=10*degree)

The weight given, boundaries above 10 degree kept.

ebsd = smooth(ebsd, F)

The smoothed map.

Description

The filtered orientations minimise the sum of the distances to the measured ones plus alpha times the sum of the misorientations between neighbours, both as absolute values; an absolute value keeps a step where a square, splineFilter, blurs it. It is halfQuadraticFilter with l1DataFit and l1TV both on, solved by iteratively reweighted least squares in the tangent space.

The smoothing is stated as a length, the wavelength damped to half its amplitude, from which alpha follows on the lattice of the map, so one filter smooths alike on a coarse and a fine map; alpha, when given, replaces it.

MATLAB’s l1TVFilter takes alpha as its first argument and solves by a cyclic proximal point iteration; here the first argument is the smoothing length.

Keywords

keyword default description
smoothingLength None the wavelength damped to half its amplitude, in the units of the map; four steps of the map when neither it nor alpha is given
alpha None the weight of the differences against the data, larger smoother
threshold 15*degree the misorientation above which two neighbours are not smoothed together, a boundary the filter leaves alone
eps 0.001 the difference at which the penalty turns from a square into a line, in radians
maxIter 100 the bound on the reweighting steps
tol 1.7453292519943296e-05 the change of every orientation in a connected part below which its iteration stops, in radians

Output

F l1TVFilter, applied by smooth(ebsd, F)

References

  • R. Bergmann, R.H. Chan, R. Hielscher, J. Persch, G. Steidl, Restoration of manifold-valued images by half-quadratic minimization, Inverse Problems and Imaging 10 (2016) 281-304

See also

smooth, halfQuadraticFilter, splineFilter, infimalConvolutionFilter, EBSDDenoising

MATLAB’s l1TVFilter.l1TVFilter

source

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/l1TVFilter.l1TVFilter_py.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.