the state of a parent grain reconstruction: the map and the grains it starts from, the orientation relationship and the grains after every step taken; MATLAB’s parentGrainReconstructor
Syntax
job = parentGrainReconstructor(ebsd, grains)
The parent and child phases guessed.
job = parentGrainReconstructor(ebsd, grains, orientation.KurdjumovSachs(csParent, csChild))
With an initial orientation relationship.
job = parentGrainReconstructor(ebsd, grains, p2c, useBoundaryOrientations=True)
Votes from the orientations along the boundaries.
job = parentGrainReconstructor(ebsd)
The grains segmented at 3 degree.
Description
The job keeps the map and the grains as given, ebsdPrior and grainsPrior, the grains at the current stage, grains, with parentGrains and childGrains, and for every prior grain the id of the current grain it went into, mergeId. The steps of a reconstruction are its methods: calcParent2Child refines the orientation relationship p2c, calcGBVotes, calcTPVotes or calcGraph with clusterVariantGraph collect votes, calcParentFromVote and calcParentFromGraph turn child grains into parent grains, mergeSimilar and mergeInclusions merge them, and calcParentEBSD gives the reconstructed map, with variantId and packetId.
The phases are guessed from the map: the most frequent indexed phase is the child and the rarest the parent, which job.csParent and job.csChild correct, or setting job.p2c, whose frames then name both. The parent frame is added to the phase lists of the job’s copies when the map carries only the child. The map must carry the grain ids of grains, which calcGrains writes into it.
Input
ebsd |
EBSD, the map of the measured, mostly child, phase, with the grain ids of grains |
grains |
grain2d, the child grains of the map; when not given the map is segmented at 3 degree, on a copy |
p2c |
orientation, the initial guess of the parent to child orientation relationship (MATLAB’s p2c0) |
Keywords
| keyword | default | description |
|---|---|---|
useBoundaryOrientations |
a pair of grains votes with the mean orientations of their pixels along the boundary they share rather than with the grain means | |
reportFit |
show the quantiles of the misfit of the boundaries to p2c when the job is displayed |
Output
job |
parentGrainReconstructor |
References
- R. Hielscher, T. Nyyssönen, F. Niessen, A. A. Gazder, The variant graph approach to improved parent grain reconstruction, Materialia 22 (2022) 101399
- F. Niessen, T. Nyyssönen, A. A. Gazder, R. Hielscher, Parent grain reconstruction from partially or fully transformed microstructures in MTEX, J. Appl. Cryst. 55 (2022) 180-194
See also
parentGrainReconstructor.calcParent2Child, parentGrainReconstructor.calcGBVotes, parentGrainReconstructor.calcParentFromVote, calcParent2Child, MaParentGrainReconstruction, TiBetaReconstruction, GrainGraphBasedReconstruction
Members
| bainId | the reconstructed Bain group id of every prior grain, NaN where none is computed |
| c2c | the child to child misorientations of the relationship, the identity included |
| calcGBFit | the misfit of the boundaries between neighbouring grains to the orientation relationship job.p2c, and the ids of the grains on either side |
| calcGBVotes | the votes the grain boundaries cast for the parent orientation of their child grains, written into job.votes |
| calcGraph | the graph of the grains for a parent grain reconstruction, job.graph |
| calcParent2Child | the parent to child orientation relationship job.p2c refined on the boundaries of the map |
| calcParentEBSD | the reconstructed parent map |
| calcParentFromGraph | job.calcParentFromGraph(): every component of job.graph of more than one grain gives its child grains the parent orientation that fits them together, or fits the parent grains among them |
| calcParentFromVote | the child grains whose vote is clear turned into parent grains, the parent orientation of the variant they voted for |
| calcTPVotes | the votes the triple points of three child grains cast for their parent orientation, written into job.votes |
| calcVariantGraph | the variant graph of a parent grain reconstruction, job.graph |
| calcVariants | job.calcVariants(): the variant, packet and Bain id of every transformed prior grain against the parent it went into, as job.variantId, job.packetId, job.bainId |
| childGrains | the remaining child grains at the current stage of the reconstruction |
| childPhaseId | the phase id of the child phase |
| clusterGraph | the graph of a parent grain reconstruction broken into clusters, one per parent grain |
| clusterVariantGraph | the variant graph clustered by the MCL algorithm generalised to the variants of a grain, the votes for the parent orientations |
| csChild | the frame of the child phase, that of the orientation relationship once it is set |
| csParent | the frame of the parent phase, that of the orientation relationship once it is set |
| ebsd | the map at the current stage of the reconstruction, calcParentEBSD |
| hasGraph | whether the graph is a grain graph, one node per grain |
| hasVariantGraph | whether the graph is a variant graph, one node per grain and parent variant |
| isChild | which grains of the current stage are child grains |
| isMerged | which prior grains have been merged with others into a parent grain |
| isParent | which grains of the current stage are parent grains |
| isTransformed | which prior child grains have been reconstructed into a parent grain |
| mergeByGraph | the grains of every cluster of the graph merged into a parent grain |
| mergeInclusions | the inclusions merged into the parent grains around them |
| mergeSimilar | neighbouring grains of similar orientation merged |
| numChildren | the number of prior child grains merged into each grain of the current stage (MATLAB’s parentGrainReconstructor.numChilds) |
| p2c | the parent to child orientation relationship, refined along the reconstruction |
| packetId | the reconstructed packet id of every prior grain, NaN where none is computed |
| parent2ChildInfo | OR = job.parent2ChildInfo(): the relationship with its closest rational parallel planes and directions, their deviations, its axis in both crystals and the angles and axes of the variants, printed and returned |
| parentEBSD | the parent phase of the map at the current stage of the reconstruction |
| parentGrainReconstructor | the state of a parent grain reconstruction: the map and the grains it starts from, the orientation relationship and the grains after every step taken |
| parentGrains | the parent grains at the current stage of the reconstruction |
| parentId | the parent variant every transformed prior grain was reconstructed with |
| parentPhaseId | the phase id of the parent phase |
| plotGraph | job.plotGraph(lineWidth=2): the boundaries of the grain graph, the more transparent the more likely its two grains share a parent |
| revert | the reconstruction undone, for all grains or those named |
| transformedGrains | the prior child grains that have been reconstructed |
| variantId | the reconstructed variant id of every prior grain, NaN where none is computed |
| variantMap | the order the variants are numbered in, kept across a refit of the relationship |
Used on
GrainGraphBasedReconstruction, MaParentGrainReconstruction, OrientationRelationshipFit, TiBetaReconstruction, TriplePointBasedReconstruction
MATLAB’s parentGrainReconstructor_index
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/parentGrainReconstructor_index_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.