Data Processing and Analysis

In this section we have compiled a list of available commercial and free software for microscopy data analysis and simulations.

As current affairs dictate home working for most of us, we will keep updating the section with more information.

Please note, that this list is meant to provide as many resources as possible. We have not had time to test all of the codes listed below, so if you have any specific queries please contact the developers directly.

If you are aware of, or have developed a code you would like us to add to the list please contact us at

Acquisition and Processing software

Gatan Microscopy Suite® The majority of the data acquired at the SuperSTEM are currently in the (GMS) software .dm3 and .dm4 file format. A free of charge configuration of Gatan Microscopy Suite® (GMS) software and information on the commercial versions and plugins can be found here.

Note that the latest free release of GMS3 has some (albeit limited) EELS processing capabilities.

01/04/2020 Update : Complimentary GMS 3 software during COVID-19 lab closures

Gatan is offering a a limited-time version of Gatan Microscopy Suite® (GMS) 3.4.1 that allows for the offline-installation of EELS Analysis, EDS Analysis, and EFTEM Analysis, until June 1, 2020, at no additional cost. For more information visit the Gatan website

An interactive version of the EELS atlas can be found here.

Gatan Microscopy Suite® freeware scripts and plugins

A selection of useful tools for the GMS platforms.

A large collection of useful freeware scripts can be found in the Digital Micrograph™Script Database, hosted by FELMI at the Graz University of Technology.

Great tools for GMS™ as well as examples and tutorials for scripting can be found at Dave Mitchell's Digital Micrograph™ Scripting Website.

Tip! If you have access to the GMS™ but not the EELS or Spectrum Imaging packages look out especially for Dave Mitchell's EELS and SITools

STEM-SI-Warper is a software tool for post-correcting the linear and nonlinear image distortions of atomically resolved 3D spectrum imaging as well as 4D diffraction imaging, developed by Yi Wang from the Stuttgart Center for Electron Microscopy .

It was written in Digital Micrograph (GMS, Gatan Inc) scripting language as a DM plugin. The multidimensional warp and offset functions can be called externally.

Oxygen-Octahedra-Picker is a software tool to extract quantitative information from STEM (HAADF-ABF) images, developed by Yi Wang from the Stuttgart Center for Electron Microscopy .

It enables mapping of atomic column positions from HAADF and ABF images and quantification of both crystal lattice and BO6 octahedral distortions.

It was written in Digital Micrograph (GMS, Gatan Inc) scripting language as a DM plugin. Center-of-mass and 2D Gaussian fitting methods were implemented to locate positions of individual atom columns.

The temDM website provides a number of open source scripts for DigitalMicrograph, developed by Dr Pavel Potapov, Techical University of Dresden.

  • Free open-source plugins facilitate images acquisition and treatment and boost scripting in DigitalMicrograph.
  • temDM MSA package makes Multivariate Statistical analysis of EELS and EDX spectrum-images in order to denoise them or extract the latent factors.
  • temDM STEMCOR package removes distortions from Scanning Transmission Electron Microscopical (STEM) images and reconstruct undistorted images including atomic resolution ones.

HREM Research provides a selection of commercial and freeware tools for GMS™.

We are proud to serve as an Associated Demonstration Site for several HREM research tools; including MSA, SmartAlign and DeConvHAADF.

Nion Swift (also on conda-forge) is an open source scientific image processing software platform integrating hardware control, data acquisition, visualization, processing, and analysis using Python. Nion Swift is easily extended using Python. It runs on Windows, Linux, and macOS.

While being developed for the operation of Nion electron microscope instruments, it is also useful as an offline tool to visualise, process, and analyse data. The Nion Swift community is working hard in adding new functionalities.

Another very good freeware alternative is the Java-based ImageJ image processing software, available for all major OS platforms. Fiji is an image processing package—a "batteries-included" distribution of ImageJ, bundling a lot of plugins which facilitate scientific image analysis.

Multi-signal Manipulation and Spectral Processing

HyperSpy is an open source Python library which provides tools to facilitate the interactive data analysis of multi-dimensional datasets that can be described as multi-dimensional arrays of a given signal (e.g. a 2D array of spectra a.k.a spectrum image).

HyperSpy aims at making it easy and natural to apply analytical procedures that operate on an individual signal to multi-dimensional arrays, as well as providing easy access to analytical tools that exploit the multi-dimensionality of the dataset.

Its modular structure makes it easy to add features to analyse different kinds of signals.

On line tutorials:

pycroscopy is a python package developed by the Institute for Functional Imaging of Materials (IFIM) at Oakridge National Laboratory.

It is used for image processing and scientific analysis of imaging modalities such as multi-frequency scanning probe microscopy, scanning tunneling spectroscopy, x-ray diffraction microscopy, and transmission electron microscopy.

For more information and installation instructions visit the pycroscopy homepage .

DTSA-II is a multi-platform software package for quantitative x-ray microanalysis, and simulations, developed by Nicholas W. M. Ritchie, at the Material Measurement Laborartory, NIST.

Java baset, DTSA-II was inspired by the popular Desktop Spectrum Analyzer (DTSA) package developed by Chuck Fiori, Carol Swyt-Thomas, and Bob Myklebust at NIST and NIH in the '80's and early '90's.

The DTSA-II webpage includes comprehensive guides and tutorials.

EELSMODEL is software for the quantification of quantify Electron Energy Loss (EELS) spectra by using model fitting. This provides a more accurate and reliable way of extracting quantitative information from EELS spectra compared to the conventional quantification technique.

The aim of this program is to give as many people in the EELS community access to an improved method for quantifying spectra with a more or less user friendly program.


Background fitting and subtraction of electron energy loss spectra in MATLAB version R2019b, developed by Kayleigh Fung, from the Notthingham NanoCarbon Group. These scripts can be applied to core and low loss EELS as well as vibrational data. The EELS_fitting.m script surveys what the best window for fitting might be and what model should be used for the fit. The EELS_subtracted_spectrum.m script allows assessment of the goodness-of-fit using a specific window and model. The EELS_subtracted_spectrum.m script was written for newer users of MATLAB to plot the subtracted spectrum and allows users to save the subtracted spectrum as a .txt for plotting in other software.

Please see for the article describing these scripts as well as examples that use this background subtraction method.

Image processing and analysis

Lewys Jones's Research webpage contains useful MatLab-based image analysis and processing codes have been developed all themed around high-resolution dark field STEM imaging.

The codes include lite versions of Absolute integrator for quantitative HAADF STEM analysis and Smart Align for the rigid and/or non-rigid realignment of multiple STEM images.

Atomap is a Python library (works alongside HyperSPy) for analysing atomic resolution scanning transmission electron microscopy images developed by Magnus Nord. It relies in fitting 2-D Gaussian functions to every atomic column in an image, and automatically find all major symmetry axes.

Atomap has functionalities for performing quantification of atomic-resolution electron microscopy images and quantification of image scan distortions.

STEM_CELL is a software developed by Vinzengo Grillo from CNR NANO.

It has several functionalities including Geometric Phase Analysis (GPA), Particle Analysis and s Image simulations , among others.

STEM_CELL is freely available to download and part of its sources can be also requested by contacting the developer directly.

The website contains helpful resources including manuals and video tutorials.

StatSTEM is an open source user friendly software code to quantify scanning transmission electron microscopy (STEM) images by using model based fitting. This provides an accurate and precise way of extracting quantitative information from STEM images. The software written in the MATLAB language and is tested stable for different MATLAB versions (2013a, 2015a and 2016a) on several operating systems (pc, mac, linux).

Electron microscopy images will be modeled by a superposition of Gaussian peaks describing each individual atomic column. Overlap of intensities from neighbouring columns is taken into account. Structural parameters, like column positions and scattering cross sections, can be stored in a MATLAB file format. From the modelled image, the number of atoms in each atomic column can be determined.

StatSTEM is developed by the group of Electron Microscopy for Materials Science (EMAT) at the University of Antwerp,.

4D-STEM data processing

py4DSTEM is a python tool for analysis of four-dimensional scanning transmission electron microscopy (4D-STEM) data, developed by Colin Ophus and collaborators at NCEM, LBL

It is open source software distributed under a GPLv3 license. It is free to use, alter, or build on, provided that any work derived from py4DSTEM is also kept free and open.

FPD is an open source python library for fast pixelated detector data storage, analysis and visualisation, focusing on 4D-STEM applications, developed by Gary Paterson at the University of Glasgow.

Overviews of many of the features are covered in associated demo notebooks (

pyXem is an open-source Python library for crystallographic electron microscopy. It has been primarily developed as a platform for hybrid diffraction-microscopy based on 4D scanning diffraction microscopy data in which a 2D diffraction pattern is recorded at every position in a 2D scan of a specimen.

pyXem is an extension of the HyperSpy library for multi-dimensional data analysis and defines diffraction specific Signal classes.

Simulation packages

Prismatic is a CUDA/C++/Python software package for fast image simulation in scanning transmission electron microscopy (STEM), developed by Colin Ophus and AJ Pryor at NCEM, LBL .

It includes parallel, data-streaming implementations of both the plane-wave reciprocal-space interpolated scattering matrix (PRISM) and multislice algorithms using multicore CPUs and CUDA-enabled GPU(s), in some cases achieving accelerations as high as 1000x or more relative to traditional methods. Prismatic is fast, free, open-sourced, and contains a graphical user interface.

QSTEM by Christoph Koch is a freeware package for quantitative simulations of TEM STEM images, and CBED calculations, using the multislice algorithm.

On the QSTEM page you'll find a comprehensive tutorial and several useful examples.

The Dr. Probe software is a free tool package for multi-slice image simulations in high-resolution scanning and imaging transmission electron microscopy. It comprises a graphical user interface version for direct visualization of STEM image calculations, as well as a bundle of command-line modules for more comprehensive calculation tasks.

This software package has been developed by Juri Barthel and Lothar Houben at the Forschungszentrum Juelich GmbH and the RWTH Aachen University.

Learn how to tune aberrations on ronchigrams with Dr. Probe Light

Computem Transmission Electron Microscope Image Simulation programs.

The programs developed by Earl J. Kirkland at Cornell University, calculate high resolution conventional and scanning transmission electron microscope (CTEM, STEM) images of thin specimens from first principles using the multislice method for electrons in the energy range of approximately 60 keV to 1000 keV. T

Computem uses a GUI and the temsim group uses a command line interface. The user is assumed to have some understanding of optics, Fourier transforms, electron microscopy and computer skills at the graduate or advanced undergraduate level.

μSTEM is an open source transmission electron microscopy (TEM) simulation suite, in particular for scanning transmission electron microscopy (STEM) images, that was developed mainly at the University of Melbourne. The computing suite is based on the multislice method.

Features include:

  • GPU optimised versions
  • Simulation of STEM (and also HRTEM) imaging modes using a quantum excitation of phonons model
  • Simulation of STEM (and also HRTEM) imaging modes using an absorptive model for phonon excitation
  • Simulation of convergent beam electron diffraction patterns (single position and position averaged)

MULTEM is a collection of routines written in C++ with CUDA to perform accurate and fast multislice simulations for different TEM experiments as: HRTEM, STEM, ISTEM, ED, PED, CBED, ADF-TEM, ABF-HC, EFTEM and EELS. It is developed by Ivan Lobato).

Currently, there are three supported ways to use MULTEM:

  • C++: using the library itself
  • Matlab: using the mex interface
  • GUI: using the user graphical interface

CTM4XAS is a freeware for the simulation of transition metal core level spectra, including XAS, EELS, XES and XPS.

Other microscopy resources

On line course on Transmission Electron Microscopy

The Interdisciplinary Center for Electron Microscopy (CIME)- EPFL is running a FREE COURSE on Transmission electron Microscopy for Materials Science on the Coursera platform.

The course provides a comprehensive introduction to transmission electron microscopy.

Image Processing Techniques for Electron Microscopy Data

Date: April 30 – May 1, 2020

A free two day on line worskop by the Canadian Centre for Electron Microscopy (CCEM ) on the use of image processing for electron microscopy data.

Three main topics will be covered: 1) basics of image processing including filtering techniques and denoising for STEM and TEM images; 2) EELS data processing using HyperSpy; and 3) FIB/TEM data 3D reconstructions using Dragonfly. Day one of the workshop will consist of lectures on the theory of the image processing techniques and why we use them. Day two will consist of live demos and a chance to get your own image processing questions answered.

Electron microscopy basics

The Australian Microscopy and Microanalysis Research Facility's website features comprehensive learning guides and interactive resources to progress your training in advanced instrumentation and techniques.

EELS database

The EELS Data Base is a compilation of valence and core-loss spectra from Electron Energy Loss Spectroscopy experiments and X-Ray spectra. With 274 spectra covering 43 elements of the periodic table, it is the largest open access EELS database. Find out more

Q-SORT Interdisciplinary Training Webinars

Q-SORT is an EU-funded consortium working on new ideas and methodologies by which the transmission electron microscope (TEM) is modified so as to function as a Quantum Sorter