resample every map onto the reference grid, correcting its distortion
Description
calcDistortion measures the displacement between each consecutive pair, so the correction for one map is the sum of every hop between it and the reference. Those stack in reverse: job.undistortedList(1) is shifted by everything in job.shifts, job.undistortedList(2) by job.shifts{2:end}, and the reference is not shifted at all. Afterwards every map is on the same grid and every pixel overlays.
Afterwards every aligned image is also written into the properties of every map in the sequence that carries an EBSD, under that map's name - ebsd.fsd1a, or ebsd.img2 for an entry constructed without a 'name'. Map and image are in one array order by then, so this is a plain assignment and a multi channel image stays r × c × k. That is what makes an image usable as a per pixel property of the map: it survives gridify, indexing and subGrid along with everything else the map carries.
Resampling is nearest neighbour throughout. For images that is a choice - linear or cubic would work and would be smoother - but nearest neighbour is least likely to invent intensities that were never measured.
For EBSD data it is not a choice. Orientations and phase labels have no meaningful in-between, so what gets resampled is the map's id: the id travels through exactly the same mapping as the image, and the output map is rebuilt by looking up each resampled id in the input map. Note that EBSDsquare/interp is not usable here - it assumes a regular grid, and the whole point of this step is that the input is not on one.
Syntax
job = undistort(job)
job = undistort(job,'backend','scattered')Input
| job | trueEbsd, after calcDistortion |
Output
| job | the same trueEbsd (a handle), with undistortedList filled in |
Options
| backend | 'inverse' (default) or 'scattered', see remapShifted. 'inverse' is the fast one; 'scattered' is what TrueEBSD <= 2.1.0 ran, for reproducing older numbers. |
See 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/trueEbsd.undistort.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.