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.


X-ray Fluorescence Toolkit (visualization and analysis of energy-dispersive X-ray fluorescence data). . The program allows both interactive and batch processing of large data sets and is particularly well suited for X-ray imaging. Its implementation of a complete description of the M shell is particularly helpful for analysis of data collected at low energies. It features, among many other things, the fundamental parameters method


Quanty is a script language which allows the user to program quantum mechanical problems in second quantization and when possible solve these. It can be used in quantum chemistry as post Hartree-Fock or in one of the LDA++ schemes. (self consistent field, configuration interaction, coupled cluster, restricted active space, ...) The idea of Quanty is that the user can focus on the model and its physical or chemical meaning. Quanty takes care of the mathematics.


SasView is a Small Angle Scattering (SAS) analysis package for the analysis of 1D and 2D scattering data directly in inverse space. The focus was originally on neutron data (SANS) but has been used for X-ray’s as well and includes a tool for determining a slit resolution for the SAXSess instrument. SansView also includes PrView to invert SAS data to P(r), a resolution calculator, and a scattering length density calculator among others tools. A simple plugin mechanism is available for users to add custom models.


Savu is a Python package to assist with the processing and reconstruction of parallel-beam tomography data. The project originated in the Data Analysis Group at the Diamond Light Source (UK synchrotron) to address the growing, and increasingly complex, needs of the tomography community. Designed to allow greater flexibility in tomography data processing, Savu is capable of processing N-dimensional full-field tomography and mapping tomography data, along with concurrent processing of multiple datasets such as those collected as part of a multi-modal setup. Savu process lists, tailored to a specific experiment and passed to the framework at runtime along with the data, detail the processing steps that are required. A Savu process list is created using the Savu configurator tool, which stacks together plugins chosen from a repository. Each plugin performs a specific independent task, such as correction, filtering, reconstruction. For a list of available plugins see plugin API. Savu is currently in use across the tomography beamlines at Diamond to reconstruct both full-field tomography data and multi-modal, mapping tomography data.


The silx project aims at providing a collection of Python packages to support the development of data assessment, reduction and analysis applications at synchrotron radiation facilities. The purpose is to deliver reading/writing of different file formats, data reduction routines and a set of Qt widgets to browse and visualize data.


simex_platform is a python library to facilitate setup, execution, and analysis of simulations of experiments at advanced laser light sources. As an example, consider a molecule radiated by highly brilliant, ultrashort x-ray pulses such as delivered by an X-Ray Free Electron Laser (X-FEL). The simulation platform allows to combine tools and codes for the simulation of each step of the experiment: Generation of radiation in the photon source, propagation through optics and waveguides to the interaction point, photon-matter interaction, scattering of the radiation into the far field and detection of the latter. The platform provides slots and interfaces for the various simulation steps.

SYRMEP Tomo Project (STP)

SYRMEP Tomo Project (STP) has been developed for the users of the SYRMEP beamline of the Elettra synchrotron facility ( to perform the digital image processing required by parallel beam propagation-based phase contrast CT experiments. The underlying idea is to let users perform post-beamtime optimization, fine tuning and/or additional tests with common hardware at their home institution. The software has been also developed for teaching and educational purposes. SYRMEP Tomo Project is available only for Windows 64-bit machines.


XMI-MSIM is an open source tool designed for predicting the spectral response of energy-dispersive X-ray fluorescence spectrometers using Monte Carlo simulations. It comes with a fully functional graphical user interface in order to make it as user friendly as possible. Considerable effort has been taken to ensure easy installation on all major platforms. A manuscript has been published in Spectrochimica Acta Part B that covers the algorithms that power XMI-MSIM. Please include a reference to this publication in your own work if you decide to use XMI-MSIM for academic purposes. A second manuscript was published that covers our XMI-MSIM based quantification plug-in for PyMca. XMI-MSIM is released under the terms of the GPLv3.


Quantitative estimate of elemental composition by spectroscopic and imaging techniques using X-ray fluorescence requires the availability of accurate data of X-ray interaction with matter. Although a wide number of computer codes and data sets are reported in literature, none of them is presented in the form of freely available library functions which can be easily included in software applications for X-ray fluorescence. This work presents a compilation of data sets from different published works and an xraylib interface in the form of callable functions. Although the target applications are on X-ray fluorescence, cross sections of interactions like photoionization, coherent scattering and Compton scattering, as well as form factors and anomalous scattering functions, are also available. xraylib provides access to some of the most respected databases of physical data in the field of X-rays. The core of xraylib is a library, written in ANSI C, containing over 40 functions to be used to retrieve data from these databases. This C library can be directly linked with any program written in C, C++ or Objective-C. Furthermore, the xraylib package contains bindings to several popular programming languages: Fortran 2003, Perl, Python, Java, IDL, Lua, Ruby, PHP and .NET, as well as a command-line utility which can be used as a pocket-calculator. Although not officially supported, xraylib has been reported to be useable from within Matlab and LabView. The source code is known to compile and run on the following platforms: Linux, Mac OS X, Solaris, FreeBSD and Windows. It is very likely that xraylib will also work on other platforms: we would be grateful if you would report your successes in this regard. Please note that not all of the bindings are currently working on all platforms. A paper was published concerning xraylib by A. Brunetti, M. Sanchez del Rio, B. Golosio, A. Simionovici and A. Somogyi, “A library for X-ray matter interaction cross sections for X-ray fluorescence applications”, Spectrochimica Acta B 59 (2004) 1725-1731. This paper was recently superseded by a new manuscript, covering all features of xraylib upto version 2.15.0, written by T. Schoonjans, A. Brunetti, B. Golosio, M. Sanchez del Rio, V. A. Solé, C. Ferrero and L. Vincze, named "The xraylib library for X-ray—matter interactions. Recent developments". You are kindly requested to include this paper in the reference list of your published work when you would decide to use xraylib for scientific purposes.