Skip to content
Marc DeGraef edited this page Nov 22, 2022 · 4 revisions

EMsoftOO is an open source package for the simulation of electron microscopy imaging and diffraction modalities. It consists of a library with core routines for crystallography, symmetry, dynamical scattering, Monte Carlo simulations, and so on, plus a series of programs for different imaging and diffraction modalities. The package is based on EMsoft package, version 5.0; this code base is no longer supported (although bug fixes will be made as needed). In the current release, nearly all EMsoft 5.0 programs and modules have been rewritten in Object Oriented fortran 2018. This conversion process took a long time, but the resulting code is more highly structured and much easier to maintain.

We'd like to acknowledge significant help from our friends at BlueQuartz Software; they have provided valuable support, maintain the package configuration files (using CMake) as well as the EMsoftWorkbench, and recently added a SuperBuild feature for the streamlined creation of the EMsoft Software Developer Toolkit (EMsoft_SDK). It should be noted that EMsoftOO requires the use of the DevelopOO branch of the Superbuild repository.

It is our goal to provide manual pages for many of the programs via this wiki page. Stay tuned as we update pages for the most important programs and modules from EMsoft 5.0 to EMsoftOO 6.0.

Finally, we should acknowledge various sources of financial support. Most of the EBSD/ECP/EKP development of this package, including dictionary indexing for EBSD/ECP, was supported by an AFOSR/MURI grant, FA9550-12-1-0458; the original EBSD code from CTEMsoft 2.0 was developed with support from an ONR grant, N00014-12-1-0075. All recent development of other related modalities (TKD and PED), as well as the creation of routines that can generate PoVRay visualization script files, and the implementation of quasi-crystals (and much more), were performed with support from an ONR Vannevar Bush Fellowship, N00014-16-1-2821. Currently, funding is provided by NSF DMR #1904629.

Recent additions to EMsoftOO include [11/22/2022]:

  • full support for the 530 Hall Space Group symbols
  • a new program to compute orientation averages using a number of different approaches
  • a utility program EMextractnml to extract name list files from EMsoft HDF5 files
  • support for dual quaternions and octonions
  • a conversion program for pattern center conventions between different EBSD vendors

Information for Users

Home

SEM Modalities     - Monte Carlo Simulations
    - EBSD Master Pattern Simulations
    - EBSD Depth Master Pattern Simulations
    - TKD Master Pattern Simulations
    - ECP Master Pattern Simulations
    - Overlap Master Patterns
    - EBSD Pattern Simulations
    - ECP Pattern Simulations
    - TKD Pattern Simulations
    - Dictionary Indexing
    - EBSD Spherical Indexing
    - EBSD Reflector Ranking
    - Ion-induced Secondary Electron Master Pattern
    - ECCI Defect Image Simulations
    - 4DEBSD
TEM Modalities     - HH4
    - PED
    - CBED Pattern Simulations
    - STEM-DCI Image Simulations
    - EMIntegrateSTEM utility
XRD Modalities     - Laue Master Pattern Simulation
    - EMLaue
    - EMLaueSlit
General Parameter Definitions * Foil Defect Configuration Definitions
EMsoftWorkbench
Utility Programs     - EMConvertOrientations
    - EMDisorientations
    - EMHOLZ
    - EMKikuchiMap
    - EMOpenCLinfo
    - EMZAgeom
    - EMcuboMK
    - EMdpextract
    - EMdpmerge
    - EMdrawcell
    - EMeqvPS
    - EMeqvrot
    - EMfamily
    - EMGBO
    - EMGBOdm
    - EMgetEulers
    - EMgetOSM
    - EMlatgeom
    - EMlistSG
    - EMlistTC
    - EMmkxtal
    - EMorbit
    - EMorav
    - EMorient
    - EMqg
    - EMsampleRFZ
    - EMshowxtal
    - EMsoftSlackTest
    - EMsoftinit
    - EMstar
    - EMstereo
    - EMxtalExtract
    - EMxtalinfo
    - EMzap
IDL Scripts     - Virtual Machine Apps
    - SEMDisplay
    - Efit
    - CBEDDisplay
python wrappers     - python examples

Complete Examples

  1. Crystal Data Entry Example
  2. EBSD Example
  3. ECP Example
  4. TKD Example
  5. ECCI Example
  6. CBED Example
  7. Dictionary Indexing Example
  8. DItutorial

Information for Developers

Clone this wiki locally