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.