Skip to main content

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 Open In Colab
TEM .emi/.ser .emd Open In Colab
Images .tif .png Open In Colab

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

  1. Create a Python>=3.10 environment with conda:
conda create -n sigma python=3.10
conda activate sigma
  1. Install SIGMA with pip:
pip install emsigma
  1. Use the notebook in the tutorial folder to run SIGMA.
jupyter-lab

Workflow of SIGMA

  1. A neural network autoencoder is trained to learn good representations of elemental pixels in the 2D latent space.
Autoencoder

  1. 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.
GMM

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

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

Demo-check_EDS_dataset

Dimensionality reduction and clustering

An example of analysing the latent space using the graphical widget.

Demo with Colab

Screen Recording 2022-02-22 at 12 09 38 PM

Factor analysis on cluster-wise spectra

A demo of acquiring Background-substracted spectrum using Factor Analysis (FA).

Demo with Colab

Demo-NMF

Metadata

Release files for emsigma 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for emsigma 0.2.1
File Size Uploaded
emsigma-0.2.1.tar.gz 44.6 kB Details

Release files / emsigma-0.2.1.tar.gz

Download URL emsigma-0.2.1.tar.gz
Size 44.6 kB
Tags Source
SHA-256 checksum
How to use checksums
6d400cb807ad5a6e5c0973b7fe62edcb3888b6701c3a8a0b46c4757012e7c0d9
BLAKE2b-256 checksum
How to use checksums
9f296801555aa7749bdc93c0545d1c8a517658b25ad5363d311eb5b874fae0dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.13

Release history Release notifications | RSS feed

This release

0.2.1 This release

1 release file

0.2.0

1 release file

0.1.34

1 release file

0.1.33

1 release file

0.1.32

1 release file

0.1.31

1 release file

0.1.30

1 release file

0.1.29

1 release file

0.1.28

1 release file

0.1.27

1 release file

0.1.26

3 release files

0.1.25

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page