cleanUpPseudoSym Corrects pseudo-symmetry artifacts in a single phase using tortuosity.
A pseudo symmetry is a rotation which is not a symmetry of the crystal but maps the diffraction pattern almost onto itself, such that the indexing picks between the two solutions at random. The resulting boundaries follow the indexing noise and are therefore much more tortuous, i.e. much longer relative to the distance between their end points, than real grain boundaries. This command merges all grains separated by such a boundary and rotates the affected pixels by the pseudo symmetry.
Since the phase to be corrected is determined by the symmetry of mori, only one phase is treated per call. To clean up pseudo-symmetries in multiple phases, run this function for each phase individually. Grain boundaries should not have been smoothed before, as this destroys exactly the tortuosity the detection is based on.
Syntax
[ebsd, grainsM, numChanged] = cleanUpPseudoSym(ebsd, grains, mori)
[ebsd, grainsM, numChanged] = cleanUpPseudoSym(ebsd, grains, mori, 'threshold', 1.5)It is enough to pass one representative of each pseudo symmetry. A measurement is a fixed representative of an orientation, so the alternative indexing solution is ori * s * mori for some symmetry element s and not simply ori * mori. All these operators are generated internally, which is why passing a pseudo symmetry or its inverse or any symmetrically equivalent misorientation gives the same result.
Input
| ebsd | EBSD object, with grainId set by EBSD.calcGrains |
| grains | grain2d object |
| mori | orientation (array of pseudo-symmetries, same CS and SS) |
Output
| ebsd | updated EBSD object |
| grainsM | merged grain2d object |
| numChanged | number of pixels that changed orientation |
Options
| 'delta' | Tolerance for boundary misorientation angle to match pseudo-symmetry (default: 2*degree) |
| 'threshold' | Minimum tortuosity (boundary length / straight distance) to trigger merge (default: 1.5) |
Example
mtexdata forsterite
ebsd = ebsd('indexed');
[grains,ebsd] = calcGrains(ebsd,'angle',10*degree,'minPixel',5);ebsd = EBSDsquare (y↓→x, row↓→col)
Phase Orientations Mineral Color Symmetry Crystal reference frame
0 58485 (24%) notIndexed none
1 152345 (62%) Forsterite LightSkyBlue mmm
2 26058 (11%) Enstatite DarkSeaGreen mmm
3 9064 (3.7%) Diopside Goldenrod 12/m1 X||a*, Y||b, Z||c
Properties: bands, bc, bs, error, mad, oldId
Scan unit : um
X x Y x Z : [0 → 36550] x [0 → 16750] x [0 → 0]
Normal vector: (0,0,1)
Square grid :336 x 732the pseudo hexagonal oxygen sublattice of olivine
psSym = orientation.byAxisAngle(Miller(1,0,0,ebsd('Fo').CS,'uvw'),60*degree);[ebsd,grains] = cleanUpPseudoSym(ebsd,grains,psSym)ebsd = EBSD (y↓→x)
Phase Orientations Mineral Color Symmetry Crystal reference frame
0 940 (0.5%) notIndexed none
1 152498 (81%) Forsterite LightSkyBlue mmm
2 26296 (14%) Enstatite DarkSeaGreen mmm
3 7733 (4.1%) Diopside Goldenrod 12/m1 X||a*, Y||b, Z||c
Properties: bands, bc, bs, error, mad, oldId, grainId
Scan unit : um
X x Y x Z : [0 → 36550] x [0 → 16750] x [0 → 0]
Normal vector: (0,0,1)
grains = grain2d (y↓→x)
Phase Grains Pixels Mineral Symmetry Color
0 16 23 notIndexed none
1 480 151493 Forsterite mmm LightSkyBlue
2 208 25667 Enstatite mmm DarkSeaGreen
3 167 7420 Diopside 12/m1 Goldenrod
boundary segments: 35324 (1.6e+06 µm)
inner boundary segments: 190 (8809 µm)
triple points: 1473
Properties: meanRotation, GOSSee also
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/cleanUpPseudoSym.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.