coarsen a list of grain boundary segments
Description
Dissolves every vertex that is not needed, keeping only every n-th one along each chain. Junctions are always kept, so the topology of the boundary network is preserved - which grains touch which, and where, is unchanged. This merges segments rather than dropping them, so the boundary stays connected and its total length is preserved up to the straightening of the removed corners.
A grain that would be left with fewer than three vertices, and so collapse onto a line, is not coarsened at all.
The properties of the merged segments - grainId, ebsdId, misrotation - are inherited from the last segment of each run. They are constant along a chain anyway, apart from misrotation.
Syntax
gB_red = reduce(gB)
gB_red = reduce(gB,n)
gB_red = reduce(gB,n,'protect',vertexIds)Input
| gB | grainBoundary |
| n | keep every n-th vertex (default 2) |
Output
| gB_red | grainBoundary |
Options
| protect | ids of vertices that must survive, on top of the junctions |
See also
grainBoundary.simplify grainBoundary.order grain2d.reduceBoundary EBSD.reduce