easyDiffraction is scientific software for modelling and analysis of neutron diffraction data, i.e., simulation of diffraction pattern based on structural model and refinement of its parameters. easyDiffraction is similar to crystallographic programs like FullProf, Jana, GSAS, ShelX, etc. However, unlike them, easyDiffraction is based on external crystallographic libraries, such as CrysPy to cover different functionality aspects within a single intuitive and user-friendly graphical interface.


A Python library for accessing and inspecting data in European XFEL's HDF5 files. European XFEL saves data in multiple HDF5 files with a moderately complex structure. EXtra-data aims to provide a simple interface to access data from a run directory, and conveniently work it in popular Python libraries such as Dask, Xarray and pandas.


Python tools to work with geometry information for multi-module detectors at European XFEL, and to use assemble detector data into images.


FabIO is a Python library for reading and handling data from 2-D X-ray detectors. FabIO provides a function for reading any image and returning a FabioImage object which contains both metadata (header information) and raw data. All FabioImage objects offer additional methods to extract information about the image and open other detector images from the same data series.


ART algorithms for fluorescence and transmission tomography reconstructions. Fluorescence absorption for the incoming and outgoing beams are taken into account.


Small angle scattering tools … but unlike most others, free and written in Python. The FreeSAS tool suite is licensed under the MIT license.


H5Glance lets you conveniently explore HDF5 files in the terminal or an HTML interface, including in Jupyter notebooks.

h5nuvola - HDF5 services on the cloud

A web-based equivalent for HDFView which adds additional functionality. It implements Cloud file browsing, data visualisation services, and selective exporting of data. Its modular architecture includes an API facilitating data and metadata exploration through REST services. Back-end tasks are based on the Python framework Flask. HDF5 files are accessed through h5py. Bokeh plotting library handles the visualisation. The front-end uses HTML5, CSS, and JavaScript. h5nuvola is integrated in Elettra’s Virtual Unified Office. It can also be integrated with Jupyter.


The iFit library (pronounce [eye-fit]) is a set of methods to load, analyse, plot, fit and optimize models, and export results. iFit is based on Matlab, but can also be launched without Matlab license (stand-alone version).Matlab It does not currently include advanced graphical user interfaces (GUI), and rather focuses on doing the math right. Any text file can be imported straight away, and a set of binary files are supported. Any data dimensionality can be handled, including event based data sets (even though not all methods do work for these). Any model can be assembled for fitting data sets. Last, a number of routines are dedicated to the analyses of S(q,w) and S(alpha,beta). More advanced features include the full automation to compute phonon dispersions in materials, using DFT codes such as ABINIT, ELK, VASP, QuantumEspresso, GPAW and more (Models/sqw_phonons). The software can also compute the neutron TAS resolution function (4D) and fits to experimental data with full resolution convolution (ResLibCal). An interface for McStas and McXtrace is also available to automate and optimize instrument simulations.


The Mantid project provides a framework that supports high-performance computing and visualisation of materials science data. Mantid has been created to manipulate and analyse neutron scattering and muon spectroscopy data, but could be applied to many other techniques.


A neutron ray-trace simulation package. McStas is a general tool for simulating neutron scattering instruments and experiments.


McStasScript is a python API for the popular neutron scattering instrument simulation tool McStas. The python API allows users to construct instrument objects describing the desired beam line, run simulations and plot the results. All data is available as bumpy arrays.


Monte Carlo Xray Tracing. Allows simulation of X-ray beam lines, as well as sample simulations in so-called virtual experiments.


MDANSE (Molecular Dynamics Analysis for Neutron Scattering Experiments) is a python application designed for computing properties that can be directly compared with neutron scattering experiments such as the coherent and incoherent intermediate scattering functions and their Fourier transforms, the elastic incoherent structure factor, the static coherent structure factor or the radial distribution function. Moreover, it can also compute quantities such as the mean-square displacement, the velocity autocorrelation function as well as its Fourier Transform (the so-called vibrational density of states) enlarging the scope of the program to a broader range of physico-chemical properties. Most of MDANSE calculations can be applied to the whole system or to arbitrary subsets that can be defined in the graphical interface while less common selections can be specified via the command-line interface. MDANSE is written in Python and currently works on Linux/debian, MacOS and Windows.


Nabu is a tomography processing software being developed at ESRF by the ADA Unit. It is part of the new ESRF tomography software suite. The European Synchrotron has several tomography beamlines. Each of them use dedicated software, which over the years led a variety of different tools spread over the beamlines with poor maintainability. This is summarized in ESRF current situation for tomography software. Nabu is an effort to unify tomography software in a new toolkit with the following requirements: Library of tomography processing, with “applications” built on top of it, usable by both non-experts and power-users High performance processing (parallelization with Cuda/OpenCL, computations distribution, memory re-use) Support of multiple techniques, not only absorption and phase contrast Extensively documented Focus on maintainability with a bus factor greater than one Compatible with ESRF legacy software, progressively replacing it Nabu does not aim at being the new universal tomography reconstruction software. Well-established software like Astra, tomopy, Savu and UFO have an extensive set of features. Nabu foremost focuses on ESRF needs, while being designed so that it can be re-used in other projects.