Skip to content

Python code for phase identification and spectrum analysis of energy dispersive x-ray spectroscopy (EDS)

License

Notifications You must be signed in to change notification settings

poyentung/sigma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 current version only supports .bcf and .emi files. The publication is available here.

Try your dataset on SIGMA with Colab in the cloud: Open In Colab

If analysis using sigma forms a part of published work please cite the DOI

Installation

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

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