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.
Recommended installation using uv:
# Clone the repository
git clone https://github.com/poyentung/sigma.git
cd sigma
# Install dependencies and the package
uv syncAlternatively, you can install the package via pip:
pip install emsigmaRequirements: Python >= 3.11
The repository does not include prebuilt wheels. To create
dist/emsigma-<version>-py3-none-any.whl, run:
uv buildTo run SIGMA, use the notebook in the tutorial folder:
uv run jupyter lab- 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.
An example of checking the EDS dataset and the sum spectrum.
An example of analysing the latent space using the graphical widget.
A demo of acquiring Background-substracted spectrum using Factor Analysis (FA).