A set of Python tools and widgets for handling and visualizing scanning imaging data at the NanoMAX (MAX IV) beamline.


NeXpy provides a high-level python interface to NeXus data contained within a simple GUI. It is designed to provide an intuitive interactive toolbox allowing users both to access existing NeXus files and to create new NeXus-conforming data structures without expert knowledge of the file format. The underlying Python API for reading and writing NeXus files is provided by the nexusformat package, which is also described here.


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)


OASYS (OrAnge SYnchrotron Suite) is an open-source Graphical Environment for optic simulation software packages used in synchrotron facilities, based on [Orange 3]( It includes SHADOWOUI, a port to the [SHADOW]( ray-tracing code and XOPPY (the Python version of [XOP](


PDFgetX3 is a command-line utility for converting X-ray powder diffraction data to atomic pair distribution functions (PDF) in automated batch processing. The interactive mode provides complete access to all parameters and intermediate results, as well as live-plotting feature for parameters tuning and visualization of their effects on the results. PDFgetX3 can be used either as a standalone application or as a Python library of PDF-processing functions.


PHENIX is a software suite for automated macromolecular structure determination that can rapidly arrive at an initial partial model of a structure without significant human intervention, given moderate resolution and good quality data. This has been made possible by the development of novel algorithms for structure determination, maximum-likelihood molecular replacement (PHASER), heavy-atom search (HySS), template and pattern-based automated model-building (RESOLVE), automated macromolecular refinement (phenix.refine), and iterative model-building, density modification and refinement that can operate at moderate resolution (RESOLVE, AutoBuild). These algorithms are based on a set of crystallographic libraries that have been built and made available to the community.

Ptychography Alignment Tools

This project provides a PyQtGraph-based GUI to assist users on the alignment of Ptychography scans. The tool has the following features: -Load set of images (tiff files supported) -Select pairs of images for alignment -Import/Export probe positions (npy array) -Image controls: levels, contrast, look up tables, zooming, translation -Preview the global picture by combining all positions


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.


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


Python toolkit for accelerated Nano-structures Crystallography and Coherent X-ray Imaging techniques. The software included in this package can be used for: 1. the computing of X-ray scattering using graphical processing units 2. X-ray wavefield propagation (from near to far field) 3. simulation and GPU-accelerated analysis of experiments using the ptychography and coherent diffraction imaging techniques See the full documentation at:

QENS library

This library provides different building blocks that users can combine, convolute and plug in different frameworks for visualizing or fitting Quasi Elastic Neutron Scattering (QENS) data S(Q, omega). It was developed as part of SINE2020 Workpackage 10 on Data Treatment to develop an exhaustive library of dynamical models in order to increase interoperability and modularity for a rapid prototyping. The models are written in Python for easy integration in workflows. In order to help users, a few examples of data analyses using different standard fitting engines (lmfit, scipy, bumps) are provided as Jupyter notebooks5. Tools are also provided to help those interested in contributing to the project by adding models or sharing examples of data treatment. This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 654000.


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.