sigma
sigma copied to clipboard
Python code for phase identification and spectrum analysis of energy dispersive x-ray spectroscopy (EDS)
Description
Spectral Interpretation using Gaussian Mixtures and Autoencoder (SIGMA) is an open-source Python library for phase identification and spectrum analysis for energy dispersive x-ray spectroscopy (EDS) datasets. The library mainly builds on the Hyperspy, Pytorch, and Scikit-learn. The publication is available here.
(UPDATE v0.2.0) SIGMA now supports UMAP for dimensionality reduction and HDBSCAN for clustering.
Try your dataset on SIGMA with Colab in the cloud:
Type of data | Support format | Colab link |
---|---|---|
SEM | .bcf .hspy |
|
TEM | .emi /.ser .emd |
|
Images | .tif .png |
|
EXCITE conference practical | .hspy |
This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 101005611: The EXCITE Network. If analysis using SIGMA forms a part of published work please cite the manuscript.
Installation
- Create a Python>=3.10 environment with conda:
conda create -n sigma python=3.10
conda activate sigma
- Install SIGMA with pip:
pip install emsigma
- Use the notebook in the tutorial folder to run SIGMA.
jupyter-lab
Workflow of SIGMA
- A neural network autoencoder is trained to learn good representations of elemental pixels in the 2D latent space.

- The trained encoder is then used to transform high-dimensional elemental pixels into low-dimensional representations, followed by clustering using Gaussian mixture modeling (GMM) in the informative latent space.

- Non-negative matrix factorization (NMF) is applied to unmix the single-phase spectra for all clusters.

In such a way, the algorithm not only identifies the locations of all unknown phases but also isolates the background-subtracted EDS spectra of individual phases.
User-friendly GUI
Check .bcf file
An example of checking the EDS dataset and the sum spectrum.
Demo with Colab
Dimensionality reduction and clustering
An example of analysing the latent space using the graphical widget.
Demo with Colab
Factor analysis on cluster-wise spectra
A demo of acquiring Background-substracted spectrum using Factor Analysis (FA).