Software


BINoculars

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.

CrystFEL

CrystFEL is a suite of programs for processing diffraction data acquired "serially" in a "snapshot" manner, such as when using the technique of Serial Femtosecond Crystallography (SFX) with a free-electron laser source. CrystFEL comprises programs for indexing and integrating diffraction patterns, scaling and merging intensities, simulating patterns, calculating figures of merit for the data and visualising the results. Supporting scripts are provided to help at all stages, including importing data into CCP4 for further processing. [From: the Website]

dahu

Data Analysis RPC server over Tango Dahu is a lightweight plugin based framework... ... technically a JSON-RPC server over Tango * plugin can be class or can be generated from state-less function * a plugin is executed within a job, each job lives in its own thread. * plugins have empty constructors plus 4 methods (or more) - setup allows to set the input parameters. It performs sanitization if needed - process does the taff - teardown sets the output and the logging and cleans up if needed - abort can be used to stop the processing if a plugin is a daemon. * the job is responsible for serializing on disk the plugin input and output * jobs can be launched using the tango interface (or other ...) * plugins have a single input and output, they are simple JSON-serializable dictionaries.

FabIO

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.

freeart

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

freesas

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

iFit

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.

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.

NAMD

NAMD is a parallel molecular dynamics code designed for high-performance simulations of large biomolecular systems.

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.

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