Software for Neutron Imaging (and others)

(by Jean Bilheux)

Neutron imaging is a very versatile capability that requires different software tools. Moreover, the advances of novel imaging techniques are quickly followed with the development of new software tools, or even the improvement of current ones. Below is a non-exhaustive list of current software development efforts, as well as the main tools used by the neutron imagingcommunity.

Computed tomography: available reconstruction software

MuhRec - PSI -
   Contact: Anders Kaestner 
   Main languages: C++ and Python

MuhRec is a software that is optimized to perform computed tomography (CT) reconstruction. The software is well maintained with updates and improvements. A python binding is under development to run the C++ methods called by the user interface. Full documentation can be found in the github wiki page at
Display of the MuhRec user interface showing the input tab.

Mantid - ISIS -
   Contact: Sam Tygier
   Main languages: C++ and Python

Mantid Imaging is a user-friendly graphical tool for neutron radiography and CT. It is built on top of several open-source libraries tand provides tools for pre-processing and advanced iterative 
reconstruction. The next effort focuses on providing an API (Application Programming Interface, or in other words, the way the program is called from the command line) capability to the methods used in the user interface.

Overview of Mantid Imaging displaying result of reconstruction.

iMars3d - ORNL -
   Contact: Jean Bilheux
   Main languages: Python

iMars3d has been fully rewritten and modernized and is based on calls to Tomopy ( Furthermore, in-house algorithms have been developed such as the tilt correction calculation. The first version of the upgraded iMARS3D software aims at providing a command-line version of the library. A notebook has also been implemented to provide a user-friendly interface to the library. A full step-by-step tutorial of this notebook can be found at

Preview of the iMars3D tutorial documentation available at

   Contacts: Singanallur, (Venkat) Venkatakhrisnan, Shimin Tang
   Main languages: Python

Developed in collaboration with Purdue University, pyMBIR is an iterative reconstruction method based on the ASTRA toolbox ( Fundamentally, pyMBIR implements model-based computed tomography reconstruction algorithms based on a Markov random field (MRF) prior and requires computers with GPU. A user interface has been developed to improve the usability of the library 

Screenshots of pyMBIR_UI showing the result of the reconstruction (left), cropping interface (middle) and configuration interface (right).

algotom - BNL -
   Contact: Nghia T. Vo
   Main languages: Python

This data processing algorithm for tomography brings a lot of pre-processing tools needed when running a CT reconstruction. The repository is still very active.

Savu - BNL -
   Contact: Nicola Wadeson
   Main languages: Python

Savu is a Python package to assist with the processing and reconstruction of parallel-beam tomography data. The last commit to Savu was around August of 2022.

X-ACT - commercial -

Visualization, reconstruction, and analysis tool. 
   cost: $

Bragg Edge Radiography: Edge Fitting and Strain Mapping

ToFImaging - PSI / ORNL -
   Contacts: Matteo Busi, Jean Bilheux
   Main Languages: Jupyter notebook, Python and PyQt

Set of modules for data reduction and analysis of TOF data sets, such as Bragg edge fitting. A user interface via a notebook is under development.

Screenshots of some of the views offered by the notebook showing the main notebook entry (top left view) then profile view (next on the right), normalization and configuration view (top right) and fitting window (bottom right).

iBeatles - ORNL -
   Contact: Jean Bilheux
   Main languages: Python and PyQt

iBeatles (Imaging Bragg Edge Analysis Tools for Engineering Structure) is currently under beta testing. the software is a standalone application, that normalizes, fits Bragg edges using an analytical method called Kropff, calculates strain and visualizes a strain map superimposed with the sample geometry.

iBeatles has 6 steps (loading, normalization, view, binning, fitting and strain mapping). Here is a view of the fitting interface.

Grating Interferometry

Angel - FRM-II / PSI / ORNL – Not available as open source 
   Contacts: Tobias Neuwirth, Simon Sebold, Jean Bilheux
  Main languages: Python and PyQt

Angel 2.0 is the new interface to Angel (Antares nGi Evaluation), a UI developed mostly for the Antares (FRM-II) beam line. The new version will support any neutron beam line thanks to the development of new python libraries such as i/o, normalization and visualization. 
Preview of Angel 2.0 user interface. Left view displays some basic side by side comparisons of sample and flat field data. Top view, filter window and bottom right view displays the parameters to set up before running the normalization.

nGITool - PSI -
   Contact: Anders Kaestner
   Main language: C++

nGITool reduces the phase stepping scans to the three ngi quantities TI, DP, and DF. This can be done on single scans as well as multiple scans. The indexing of the images can be adjusted to handle two different scanning strategies, (1) phase scans grouped together or (2) for the case of tomography scans it is also possible to reduce sequences where a full tomography scan is acquired before moving to the next phase step. The tool also provides filtering options to remove outliers. The a collection of fitting algorithms are provided, all based on a least square principle. The tool is implemented in C++ and has a GUI to make the parameterization more convenient.

Preview of the nGITool interface.

General Tools

Jupyter Notebooks - ORNL -
   Contact: Jean Bilheux
   Main languages: Python, Jupyter notebooks and PyQt

40+ notebooks have been developed for various pre-processing steps, reduction, analysis, visualization, etc. Each notebook is fully documented on the ORNL neutron imaging web site at Users accessed the notebooks via a simple browser connecting to the ORNL servers and can work on their data during or after their beam time. 

Screenshot of some of the numerous notebooks provided as part of the suite of tools.

Spam - ILL -
   Contact: Edward Ando, Emmanuel Roubin, et al.
   Main languages: Python and C++

Spam is a software aimed at the analysis and manipulation of 2D and 3D data sets in material science. 


There are a few commercial software available (free or not) which also often go beyond the simple visualization, such as analysis, processing, etc. Here is a list of the most common 

AMIRA - commercial -
   cost: $$
   pros: python scripting, very powerful, very good tutorials

AMIRA/AVIZO is a software that aims at the visualization and analysis of scientific data in 2 and 3 D. Many tutorials can be found on their YouTube channel (

VG Studio (Volume Graphics) - commercial -
   cost: $$$
   pros: powerful set of toolboxes, excellent fly-though tool.

VG Studio is a software that provides capabilities such as visualization,  CT reconstruction, analysis, etc. 

Volview - commercial -
   cost: free
   pros: free, easy to jump in

Dragonfly - commercial -
   cost: free
   pros: free for non-commercial use, python scripting

ImageJ - commercial -
   cost: free
   pros: popular tool to visualize and perform basic analysis of 2D data. 3d visualization is also available in ImageJ
We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.