ANKAphase processes X-ray inline phase-contrast radiographs by reconstructing the projected thickness of the object(s) imaged. The tool uses a single-distance non-iterative phase-retrieval algorithm described in a paper by D. Paganin et al. J. Microsc. vol. 206 (2002). It has an easy-to-use graphical user interface and can be run either as a standalone application or as a plugin to ImageJ. It works on powerful clusters but also on your office laptop.


BINoculars is a tool for data reduction and analysis of large sets of surface diffraction data that have been acquired with a 2D X-ray detector. The intensity of each pixel of a 2D-detector is projected onto a 3-dimensional grid in reciprocal lattice coordinates using a binning algorithm. This allows for fast acquisition and processing of high-resolution datasets and results in a significant reduction of the size of the dataset. The subsequent analysis then proceeds in reciprocal space. It has evolved from the specific needs of the ID03 beamline at the ESRF, but it has a modular design and can be easily adjusted and extended to work with data from other beamlines or from other measurement techniques.


CCP4 is an integrated suite of programs that allows researchers to determine macromolecular structures by X-ray crystallography, and other biophysical techniques. CCP4 aims to support the experimental determination and analysis of protein structures.

CrysAlis Pro

Data collection and data processing software for small molecule and protein crystallography. Main features: automatic crystal screening, data collection and strategy modules. It provides the user with information regarding the unit cell, intensity estimation by resolution range and suggested frame exposure times for the full data collection.


DAWN, the Data Analysis WorkbeNch, is an Eclipse based application for scientific data analysis. It comes with a range of tools for visualization (1D, 2D and 3D), code development environments (for Python, Jython and Eclipse plug-ins) as well as processing workflows with visual algorithms for analyzing scientific datasets. It is primarily developed at Diamond Light Source, but external contributions are most welcome! DAWN is distributed freely and is released under the Eclipse Public License.


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.


FIT2D is a general purpose 1 and 2 dimensional data analysis program. It is used for both interactive and "batch" data processing, and is used for different purposes. Calibration and correction of detector distortions is one of the main uses of FIT2D. Difficult data analysis problems may be tackled using fitting of user specified models. To enable model fitting to be performed on a wide variety of input data, many other more basic data analysis operations are also available. A wide variety of performant graphical display methods are available.


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


a graphical user interface to manage tomography data preprocessing, reconstruction and visualizaton based upon IDL and PyHST packages.


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.


Mosflm can process diffraction images from a wide range of detectors and produces, as output, an MTZ file of reflection indices with their intensities and standard deviations (and other parameters). This MTZ file is passed onto other programs of the CCP4 program suite (SORTMTZ, SCALA, TRUNCATE) for further data reduction.


nxtomomill provide a set of applications to convert tomography acquisition made from bliss (@ESRF) from their original file format (.edf, .h5) to a Nexus compliant file format (using NXtomo)


Framework for scientific ptychography including suitable classes for many concepts of ptychography


pyFAI is an azimuthal integration library that tries to be fast (as fast as C and even more using OpenCL and GPU). It is based on histogramming of the 2theta/Q positions of each (center of) pixel weighted by the intensity of each pixel, but parallel version uses a SparseMatrix-DenseVector multiplication


Hybrid distributed code for high speed tomographic reconstruction with iterative reconstruction and a priori knowledge capabilities. PyHST2 (formerly known as PyHST) has been engineered to sustain the high data flow typical of the third generation synchrotron facilities (10 terabytes per experiment) by adopting a distributed and pipelined architecture. The code implements, beside a default filtered backprojection reconstruction, iterative reconstruction techniques with a-priori knowledge. The latter are used to improve the reconstruction quality or in order to reduce the required data volume and reach a given quality goal. The implemented a-priori knowledge techniques are based on the total variation penalisation and a new recently found convex functional which is based on overlapping patches.