AutoEMXSp Documentation

Welcome to AutoEMXSp, a Python package for Automated Electron Microscopy X-ray Spectroscopy.

AutoEMXSp is a framework for running automated acquisition and analysis routines on electron microscopes (EM), offering both X-ray spectroscopy and image acquisition and analysis workflows.

AutoEMXSp currently supports Energy-Dispersive X-ray Spectroscopy (EDS) in Scanning Electron Microscopy (SEM).

The package was primarily conceived for automated EDS compositional analysis, but it also includes scripts for automated particle size distribution measurements based on SEM imaging.

This work is described in:

A. Giunto et al., Harnessing Automated SEM-EDS and Machine Learning to Unlock High-Throughput Compositional Characterization of Powder Materials, 2025. DOI: https://doi.org/10.21203/rs.3.rs-7837297/v1

Please cite this work if you use AutoEMXSp.

Key Features

  • Fully automated SEM-EDS compositional analysis of samples, integrating:
    • Live SEM control for particle identification and EDS spectral acquisition

    • EDS spectra quantification using the peak-to-background method

    • Rule-based filtering of compositions to discard poorly quantified spectra

    • Unsupervised machine learning–based compositional analysis to identify the compositions of individual phases in the sample

  • Manual single/multiple EDS spectra quantification

  • Automated experimental standard collection scripts

  • Automated particle size distribution measurement scripts

  • Extensible architecture, adaptable to other techniques such as: - Wavelength Dispersive Spectroscopy (WDS) - Scanning Transmission Electron Microscopy (STEM) with EDS

  • Extensible hardware support, including a driver for the ThermoFisher Phenom Desktop SEM series, and adaptable to any electron microscope exposing a Python API

Supported Use Cases

  • Powders and rough samples (e.g. rough films or pellets)

  • Scanning Electron Microscopy (SEM) with Energy-Dispersive Spectroscopy (EDS)

Demo

Watch AutoEMXSp in action on a desktop SEM–EDS system: https://youtu.be/Bym58gNxlj0

Performance

  • Benchmarked on 74 single-phase samples spanning 38 elements (from nitrogen to bismuth), achieving <5–10% relative deviation from expected values

  • Machine learning–based compositional analysis detects individual phase compositions in multi-phase samples, including minor phases

  • Intermixed phases can also be resolved

See https://doi.org/10.21203/rs.3.rs-7837297/v1 for more details

Requirements

  • Python 3.11 or above

  • Electron Microscope provided with an API. AutoEMXSp comes with a driver for Thermofisher PyPhenom. For different microscopes, the EM_driver must be adapted (see EM Driver Set Up).

  • AutoEMXSp comes with EDS calibrations for the Thermofisher Phenom XL series. Different microscopes or detectors require recalibration (see Calibrating EDS).

Scope of the Documentation

This documentation is intended for both standard and advanced users of the AutoEMXSp package.

  • Standard users

    You run predefined scripts and calibrate the Silicon Drift Detector (SDD) without any prior knowledge of the internal code structure. The documentation provides step-by-step instructions to help you get started quickly.

  • Advanced users

    You interact with AutoEMXSp beyond simple script execution. This documentation guides you through the initial configuration and setup required to deploy AutoEMXSp on a new microscope and adapt it to new experimental workflows.