Software


BONSU

Bonsu is an interactive phase retrieval suite, designed for phase retrieval with real-time visualisation in both two and three dimensions. It includes an inventory of algorithms and routines for data manipulation and reconstruction.

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.

DAWN

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.

EXtra-data

A Python library for accessing and inspecting data in European XFEL's HDF5 files. European XFEL saves data in multiple HDF5 files with a moderately complex structure. EXtra-data aims to provide a simple interface to access data from a run directory, and conveniently work it in popular Python libraries such as Dask, Xarray and pandas.

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.

h5glance

H5Glance lets you conveniently explore HDF5 files in the terminal or an HTML interface, including in Jupyter notebooks.

h5nuvola - HDF5 services on the cloud

A web-based equivalent for HDFView which adds additional functionality. It implements Cloud file browsing, data visualisation services, and selective exporting of data. Its modular architecture includes an API facilitating data and metadata exploration through REST services. Back-end tasks are based on the Python framework Flask. HDF5 files are accessed through h5py. Bokeh plotting library handles the visualisation. The front-end uses HTML5, CSS, and JavaScript. h5nuvola is integrated in Elettra’s Virtual Unified Office. It can also be integrated with Jupyter.

H5Web

H5Web is a web-based HDF5 file viewer with NeXus support. It allows for the browsing and inspecting of the hierarchical structure of HDF5 files, as well as visualising their datasets as basic plots (1D, 2D). With H5Web, our intent is to provide synchrotron users with an easy-to-use application and to make open-source components available for other similar web applications. H5Web is built with React, a front-end web development library. It supports the exploration of HDF5 files, requested from a separate back-end for modularity (e.g. HSDS, Jupyter, etc.), and the visualisation of datasets using performant WebGL-based visualisations.

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.

LAMP

LAMP (Large Array Manipulation Program) is designed for the treatment of data obtained from neutron scattering experiments at the Institut Laue-Langevin. However, LAMP is now a more general purpose application which can be seen as a GUI-laboratory for data analysis based on the IDL language.

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.