Software


nabu

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.

nanomax-analysis-utils

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

nexdatas

Historically it is the job of the Control Client (CC) to write the data recorded during the experiment (this is true at least for low rate data-sources). However, with the appearance of complex data formats like Nexus the IO code becomes more complex. To cope with this complexity, NexDaTaS has been developed jointly by PNI-HDRI and PaNdata to provide an easy to use interface between the NeXus data integration and the control system. NexDaTaS is realized as a Tango server which allows to store NeXuS Data in H5 files. The server provides storing data from other Tango devices, various databases as well as passed by a user client via JSON strings.

NeXpy

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.

NSXTool

NSXTool is an application for reducing neutron single crystal data. It provides algorithms for indexing, refining UB matrix and instrument parameters, integrating Bragg peaks for future analyses using software such as FullProf or ShelX. It is made of a core crystallographic library written in C++ (standard 2011) with dependencies on boost, eigen, gsl standard libraries and of a graphical user interface written in Qt.

nxtomomill

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)

Pore3D

Pore3D is a software toolbox for quantitative analysis of three-dimensional images. The core of Pore3D consists in a set of state-of-the-art functions and procedures for performing filtering, segmentation, skeletonization and quantitative analysis of three-dimensional data. Although three-dimensional data can be produced by several techniques (for instance: magnetic resonance, x-ray scattering or confocal microscopy), the library was developed and optimized for micro-CT (Computed Tomography) data. Pore3D features are available through the high-level scripting environment IDL. Pore3D has been tested with IDL 64-bit from versions 6.4 to 8.5.

PtyPy

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

PyFAI

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

PyHST2

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.

PyMca

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

PyNX

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: http://ftp.esrf.fr/pub/scisoft/PyNX/doc/

SAXSutilities

Matlab based graphical user interfaces for the online processing and analysis of Small Angle X-ray Scattering data. In particular: -online treatment and fitting of SAXS data -averaging, background subtraction, normalization of ASCII data, etc. -processing of 2D SAXS images -averaging, subtraction, etc. of EDF images

silx

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

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.