espm: A Python library for the simulation of STEM-EDXS datasets

Ultramicroscopy. 2023 Jul:249:113719. doi: 10.1016/j.ultramic.2023.113719. Epub 2023 Mar 23.

Abstract

We present two open-source Python packages: "electron spectro-microscopy" (espm) and "electron microscopy tables" (emtables). The espm software enables the simulation of scanning transmission electron microscopy energy-dispersive X-ray spectroscopy datacubes, based on user-defined chemical compositions and spatial abundance maps of constituent phases. The simulation process uses X-ray emission cross-sections generated via state-of-the-art calculations made with emtables. These tables are designed to be easily modifiable, either manually or using espm. The simulation framework is designed to test the application of decomposition algorithms for the analysis of STEM-EDX spectrum images with access to a known ground truth. We validate our approach using the case of a complex geology-related sample, comparing raw simulated and experimental datasets and the outputs of their non-negative matrix factorization. In addition to testing machine learning algorithms, our packages will also help experimental design, for instance, predicting dataset characteristics or establishing minimum counts needed to measure nanoscale features.

Keywords: Cross-section table; Energy-dispersive X-ray spectroscopy; Open-source Python software; Scanning transmission electron microscopy; Simulation; Spectrum image.