Scientific Software Projects

Development of software for analysis, reduction and simulation of x-ray experimental work has been a major output from the APS. This page describes a number of projects actively being pursued by scientists with the X-ray Science Division, often aided by the software engineers within the AES Software Services Group and sometimes in collaboration with other parts of Argonne or external laboratories. Other relevant web pages include: data analysis projects to be added and data collection packages.


Imaging

diffraction pattern from an aluminum sampleHiSPoD: undulator white-beam diffraction analysis software

HiSPoD is a Matlab® program, developed for simulating and analyzing undulator white-beam diffraction patterns. It is particularly useful for single-pulse diffraction patterns and where an area detector is not perpendicular to the beam and the transmission beam spot may not fall on the detector.

3D volume showing the orientation produced from indexing 387582 spatially resolved white beam Laue imagesLaueGo

Provides a convenient means to view and analyze 1D, 2D, and 3D spatially-resolved diffraction data. It is capable of taking a multi-Terabyte set of images and automatically producing a view of the strain or orientation throughout a 3D volume. It can analyze either white or monochromatic x-ray data to obtain the orientation or strain information within an inhomogeneous material

Grains in a polycrystalline sampleMIDAS: Microstructural Imaging using Diffraction Analysis Software

The Microstructural Imaging using Diffraction Analysis Software (MIDAS) software package allows users to non-destructively image the microstructures of crystalline materials. The output is a 3D map with information about each grain.

tomopy reconstruction comparisonTomoPy: tomographic reconstruction

Provides multi-dimensional tomographic reconstruction from any type of X-ray transmission and/or emission dataset. Also provides functionality for pre- and post-processing functions, such as ring artifact correction, phase retrieval, optimal centering, zinger removal, etc.

uProbeX in calibration modeuProbeX

Coordinates visible light microscopy scans with fluorescence scans performed at the APS. Users quickly acquire an overview of their sample with a commodity visible light microscope, and then acquire an elemental map on a selected a region-of-interest from the visible light image


Spectroscopy

Sankey diagram that tracks electron configurations during an XFEL pulseXRAPM, X-ray Atomic Physics Module

Simulates this interaction of an atom with an x-ray pulse using the Monte-Carlo Rate Equation approach, which is essential the applications of x-ray free electron laser (XFEL). It provides a complete tracking of all the electronic transitions undertaking by atom and predicts ion, electron and photo spectra for experimental conditions.


Scattering

GSAS-II iconGSAS-II, GSAS and EXPGUI: Generalized Crystallographic Analysis

Provides crystallographic determination of the atomic arrangement from any type of x-ray or neutron from diffraction measurements as well as materials characterization information. Multiple datasets may be combined for a single or parametric study. Can be used for all scales of complexity from materials characterization to proteins.

diffraction pattern from an aluminum sampleHiSPoD: undulator white-beam diffraction analysis software

HiSPoD is a Matlab® program, developed for simulating and analyzing undulator white-beam diffraction patterns. It is particularly useful for single-pulse diffraction patterns and where an area detector is not perpendicular to the beam and the transmission beam spot may not fall on the detector.

Modeling of three concentrations of nearly monodispersed suspension of silica particles Irena: Small-Angle Scattering Data Analysis

Analysis tools for small-angle (X-ray and neutron) scattering data, primarily for complex, typically inorganic materials. Performs a  number of types of analysis: size distribution, unified fit model, direct modeling of scattering from disordered and ordered system, including fractal systems and small-angle diffraction, with number of supporting tools (data import/export, manipulation, plotting etc.). Includes scattering contrast calculator for both neutrons and X-rays (in free electron and Cromer-Lieberman approximations).

3D volume showing the orientation produced from indexing 387582 spatially resolved white beam Laue imagesLaueGo

Provides a convenient means to view and analyze 1D, 2D, and 3D spatially-resolved diffraction data. It is capable of taking a multi-Terabyte set of images and automatically producing a view of the strain or orientation throughout a 3D volume. It can analyze either white or monochromatic x-ray data to obtain the orientation or strain information within an inhomogeneous material

Example SAXS image from 12-IDmatSAXS & SAXSLee: SAXS/WAXS reduction, visualization and fitting

A set of programs SAXS/WAXS data reduction, visualization and analysis.

Grains in a polycrystalline sampleMIDAS: Microstructural Imaging using Diffraction Analysis Software

The Microstructural Imaging using Diffraction Analysis Software (MIDAS) software package allows users to non-destructively image the microstructures of crystalline materials. The output is a 3D map with information about each grain.

Calibration SAXS data overlaid with reduced Intensity vs. scattering profileNika: 2-D Data Reduction for SAXS and WAXS

Area (2-D) detectors are widely used in small-angle and wide-angle scattering instruments (SAXS and WAXS) due to their efficiency. Nika accepts such data and reduces it to 1-dimensional scans – typically as intensity as function of scattering angle --  suitable for most of the data analysis programs (e.g., Irena for SAXS data). It can also be used for grazing-incidence geometry SAXS or WAXS.

XPCS-MapReal-time XPCS Multi-tau Analysis

X-ray photoelectron correlation spectroscopy (XPCS) extracts length-scale dependent dynamical information for the sample being probed, by computing the time autocorrelation function using a series of 2D area detector images. To allow computation in real-time, the Hadoop MapReduce algorithm is employed to deploy this in a high-performance computing (HPC) environment. The resulting code can be used to process data irrespective of the geometry of the measurement such as small angle in transmission, grazing incidence or under diffraction conditions.

3D view of reciprocal space map showing multiple cuts through the datarsMap3D

Process diffraction data collected with area detectors at APS and represents the result as three-dimensional data sets as volumes in reciprocal space. Provides the means to look at various cuts through the map. The input for processing of this data consists of a series of area detector images collected over a range of diffractometer angles and/or input energy.

CsCl packing of Octahedra simSAXSLee: SAXS/WAXS scattering simulator

simSAXSLee provides simulations of small and wide angle scattering crystalline assemblies of particles, such as inorganic polyhedra, organic molecules, proteins or virus capsids.

X-ray standing waves computed by TER_slX-Ray Server: BRL, GID_sl, TER_sl, TRDS_sl, MAG_sl, and X0h

The X-ray Server is a suite of WWW-accessed software for online modeling of X-ray diffraction, specular reflection and scattering, with possible applications to studying defects in surface layers of crystals, designing X-ray optics, and teaching the dynamical diffraction theory.  The programs compute X-ray scattering factors, Bragg diffraction profiles from strained crystals, X-ray specular reflection, standing waves from multilayers, multiple Bragg diffraction, scattering from interface roughness and resonant specular reflection from magnetic multilayers


General
The simplest Scientific Data Exchange definition for storing raw tomographic dataData Exchange

A python module to share scientific data and analysis tools through file conversion into HDF5.

Computation of x-ray resonant scattering for Fe and NiFprime: X-ray cross-section estimators

A series of utilities for computing the wavelength dependence for x-ray scattering and absorption. The utilities can be accessed through two GUI-based Python routines (for form factors or absorption) or via a web-based calculation routine tailored for powder diffraction sample evaluation

Simulation example of the vertical beam intensity profiles in the vicinity of the focal plane of an elliptical cylinder mirror. HYBRID code for beamline simulation

The HYBRID code simulates beamline optics by combining geometrical ray-tracing and wavefront propagation. It provides fast beamline performance calculation including diffraction effects, mirror figure errors and the partial coherence of synchrotron radiation sources. Two GUI implementations are available.

X-ray standing waves computed by TER_slX-Ray Server: BRL, GID_sl, TER_sl, TRDS_sl, MAG_sl, and X0h

The X-ray Server is a suite of WWW-accessed software for online modeling of X-ray diffraction, specular reflection and scattering, with possible applications to studying defects in surface layers of crystals, designing X-ray optics, and teaching the dynamical diffraction theory.  The programs compute X-ray scattering factors, Bragg diffraction profiles from strained crystals, X-ray specular reflection, standing waves from multilayers, multiple Bragg diffraction, scattering from interface roughness and resonant specular reflection from magnetic multilayers

XOP LogoXOP v2.4

X-ray Oriented Programs: a graphical-user-interface driven code for calculation of synchrotron radiation and its interaction with samples and optical elements. These programs allow for design of beamline instrumentation and experiments.