boundaryFilter edit page

abstract class for smoothing grain boundaries

Description

A boundary filter decides how smoothBoundary turns a polygonal grain boundary into a smooth one. It is handed the vertex coordinates together with the adjacency of the boundary network and returns the moved coordinates. Everything else - removing the pixel staircase, resampling, deciding which vertices are allowed to move - happens in smoothBoundary and is the same for every filter.

The filters fall into two groups. laplaceFilter and taubinFilter apply a local averaging step a fixed number of times, so how much they smooth depends on the vertex spacing. curvatureFilter and huberFilter instead define the smooth boundary as the solution of a minimization problem, which is stated in terms of a length and therefore does not change when the same sample is measured on a finer grid.

Syntax

grains = smoothBoundary(grains,taubinFilter)
F = curvatureFilter;
F.smoothingLength = 3;
grains = smoothBoundary(grains,F)

See also

grain2d.smoothBoundary laplaceFilter taubinFilter curvatureFilter huberFilter