The "$" sign used below means that what comes after it, in |
Landing page for all things EMsoft: http://vbff.materials.cmu.edu/emsoft/
When an EBSD pattern has weak Kikuchi bands, commercial software using the Hough transform, like TSL, has difficulties identifying the bands and hence cannot index the pattern. Instead of detecting the bands, EMsoft with its dictionary indexing simulates patterns and compares these to the experimental patterns. Dictionary indexing is much more robust towards noise than Hough indexing, and in most cases where there is some band information in the pattern is able to index the pattern. An example of this: https://www.nature.com/articles/s41598-018-29315-8
EMsoft-4.2.0-Win64.zip,
or get the latest executables via the "BlueQuartz Nightly Builds" badgeC:\Users\YOUR_USERNAME\Documents\EMsoft
C:\Users\YOUR_USERNAME\Documents\EMsoft\bin
, to environment variables (https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/)EMOpenCLinfo
(type EMOpenCLinfo
and press enter)See the highly pedagogical hands-on tutorial on how to do this: https://link.springer.com/article/10.1007%2Fs40192-019-00137-4.
Note that with EMsoft 5.0, the pattern centre x-coordinate (xpc) have to be negated (due to a change of reference frames made in this release). This means that, when converting x* from the EDAX TSL to EMsoft's xpc, the equation is xpc = -Nx(x* - 0.5), instead of xpc = Nx(x* - 0.5) as in the tutorial paper. The conversions from y* and z* to ypc and L, respectively, are still as in the tutorial paper. |
To be able to index patterns stored in NORDIF's binary format, we need to address two issues:
remove_static_background()
method in kikuchipy (https://kikuchipy.org).Use the program EMgetANG
. (1) Create the template (text) file with the template flag -t
, like $
EMgetANG -t
, (2) change the file extension from .template to .nml and/or the file name if desirable, (3) update the relevant fields in a text editor, and (4) run the program by passing the new file name instead of -t
, like
.$
EMgetANG my_getang.nml
After a successful indexing run, the dynamically simulated patterns that best matched the experimental patterns can be simulated for a visual comparison by following these steps using both EMsoft and KikuchiPy:
Visualise the simulated and experimental patterns. The patterns can be read into KikuchiPy by for now (a reader for the simulated patterns will be created so the file can be loaded with the kikuchipy.load() function) using the following, followed by plotting the two data sets together, and if desired saving patterns of interest to file, using:
import kikuchipy as kp
import h5py
import hyperspy.api as hs
import matplotlib.pyplot as plt
s = kp.load('/path/to/experimental/patterns/Pattern.dat')
with h5py.File('/path/to/emebsd/file/simulated_patterns.h5', mode='r') as f:
simulated_patterns = f['EMData/EBSD/EBSDPatterns][()]
s_sim = kp.signals.EBSD(simulated_patterns.reshape(s.data.shape))
hs.plot.plot_signals([s, s_sim])
x, y = (100, 100) # Navigation indices for pattern of interest (the red letters when plotting)
plt.imsave(fname='/path/to/place/single/patterns/into/pattern_exp.png', arr=s.inav[x, y].data)
plt.imsave(fname='/path/to/place/single/patterns/into/pattern_sim.png', arr=s_sim.inav[x, y].data)