Child pages
  • EMsoft
Skip to end of metadata
Go to start of metadata

Landing page for all things EMsoft:

Why index patterns with EMsoft instead of with EDAX TSL OIM Data Collection?

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:

Installation and setup on Windows

  1. Download and unzip
    1. Navigate on the landing page above to the executable package links, e.g.
    2. Download and extract the contents to a convenient directory (folder), like C:\Users\YOUR_USERNAME\Documents\EMsoft
  2. Tell Windows where the executables are located by adding the path to the executables, C:\Users\YOUR_USERNAME\Documents\EMsoft\bin, to environment variables (
  3. A command line and text editor is needed to interact with EMsoft. On Windows, using Visual Studio Code ( is recommended by Prof. Marc DeGraef, the main developer of EMsoft.
  4. Make sure EMsoft is setup correctly by opening a terminal in Visual Studio Code and executing the program EMOpenCLinfo (type EMOpenCLinfo and press enter)
  5. Setup the configuration by going to EMsoft's wiki pages on GitHub ( and following the instructions there. (If you are unfamiliar with the Windows Command Prompt, here is a basic tutorial:
  6. All files produced by EMsoft are in the HDF5 format (Hierarchical Data Format version 5). To open these files, install an HDF file viewer like HDFView from the HDF Group: (They request that you register (for free) to download the viewer.)

Perform dictionary indexing

See the recently published, highly pedagogical, hands-on tutorial on how to do this:

A simpler, step-by-step list of how to perform a dictionary indexing from start to finish, with minimal explanations (all details are in the tutorial paper), will be made in the near future.

To be able to index patterns stored in NORDIF's binary format, we need to address two issues:

  1. EMsoft cannot read the patterns stored in NORDIF's format, so, read the Pattern.dat file into KikuchiPy and write them to a .h5 file (HDF5), which can be read by EMsoft.
  2. EMsoft has no static background correction, so, before writing the patterns to the .h5 file, use the static_background_correction() method in KikuchiPy.
  • No labels