Scientific Software

Scientists and researchers at the APS develop custom scientific software to help with acquisition and analysis of beamline data. Several packages are available for a variety of platforms and uses.

General Diffraction



This provides utilities for computing approximate x-ray scattering cross sections (f, f' and f") for individual elements using the Cromer & Liberman algorithm (reference: Acta Cryst. 1981 v.A37, p.267). It can be used as python GUI for computing and plotting elemental scattering factors (FPRIME), a python GUI for computing scattering and absorption from a given composition, or can be accessed as a web utility. Platform independent.

Contact: Robert B. Von Dreele

Powder Diffraction Crystallography



GSAS is a very widely used crystallographic data analysis program for fitting structures to single-crystal and powder diffraction data. It can be used with neutron (TOF or CW) and x-ray data (laboratory, energy-dispersive or synchrotron) of virtually all types. It is also a good tool for modeling materials modifications, such as residual strain and preferred orientation and can be used for simulations. EXPGUI is an easy-to-learn GUI front-end to GSAS that provides additional features. Windows/Mac/Linux.

Contacts: Robert B. Von Dreele and Brian Toby


Data Merge (.zip download)

The data from 11-BM must be corrected for 2theta zero, detector sensitivity and minor differences in wavelength before merging into a single composite pattern. This is usually done at the beamline, but users can install a version of the Python tool on their home computer for specialized use. Limited instructions are provided inside the archive. Platform independent.

Contact: Brian Toby



CMPR is a general purpose powder diffraction visualization tool. It also provides many data reduction tools for initial analysis, such as peak fitting, autoindexing, unit cell display. Windows/Mac/Linux.

Contact: Brian Toby



QXRD is an application designed to control the readout of an amorphous silicon flat panel X-ray detector made by Perkin Elmer, and is intended for use at a synchrotron light source beamline. QXRD acts as a bridge between the dynamic link library provided by Perkin Elmer and the beamline data acquisition software 'spec' and also provides a convenient GUI interface to the detector. As well as detector control, QXRD can also work to perform data analysis and visualization of image data for powder diffraction, PDF and SAXS measurements. Versions are available for Windows, Linux and Mac OS X.

Contact: Guy Jennings

Synchrotron Radiation / Optical Elements


XOP (X-ray Oriented Programs)

XOP provides codes for modeling of x-ray radiation sources and characteristics of mirrors, filters, and multilayers and multipurpose data visualizations and analyses. The graphical user interface drives a variety of computer codes from different authors written in different computer languages. It includes a flexible DAta BAse for X-ray applications DABAX, which contains tables for x-ray applications and codes to access, visualize, and process these tables. Additional software packages called extensions, may optionally be installed to enhance the functionality of XOP. Common extensions are the SHADOWVUI package, a Visual User Interface for the SHADOW ray-tracing program and the XAID package for XAFS data analysis. The current version of XOP runs on most Unix, Linux, and Windows platforms.

This software is subject to U.S. Export Control and is categorized under Export Control Classification Number (ECCN) 5D002. Please complete and submit the Software Application Form for XOP v2.4 and Future Releases as instructed therein. If all export requirements are met the software will be distributed to the applicant.

Contacts: Roger Dejus (APS) and Manuel Sanchez del Rio (ESRF)

Time-Resolved EXAFS



QAVRG is an application intended to allow ultra-high time resolved EXAFS experiments using ultrafast detectors and an Acqiris signal averager card. Though primarily intended for data acquisition it can also be used for offline data analysis. It is written in C++ using the Qt toolkit. Prebuilt versions are available for Fedora Linux.

Contact: Guy Jennings

Visualization / Data Processing



Specfe is a graphical front end program intended to aid the use of the 'spec' data acquisition software. Specfe is able to display interactive graphs of data scanned by spec, to present a user-friendly graphical interface to several of the more common spec commands and to present a unified 'tweaking' interface to the spec motors and counters.As well as interfacing to spec, specfe can also run in a stand-alone mode where it may be used to browse 'spec' data files. Specfe is written in tcl/tk and is available pre-built for Fedora Linux.

Contact: Guy Jennings



QSE is an application intended to help in the initial stages of data reduction of EXAFS data taken with multi-element detectors using the 'Spec' data acquisition system. The program allows you to read in a data file, decide which scans to use and which data columns to use from each scan, add together and normalize the data from individual detector elements and average together groups of scans. Data at various stages of processing may be displayed, printed and/or saved in new data files. Versions are available for Linux, Windows and Mac OS X.

Contact: Guy Jennings



QMCA is an application to visualize data from and control epics-based multichannel analyzer systems. QMCA is written in C++ using the Qt toolkit. Prebuilt versions are available for Linux.

Contact: Guy Jennings

Detector Controls



qscan345 is an application intended to facilitate the remote control of a 'mar345' image plate detector. It is written in C++ using the Qt toolkit. Prebuilt versions are available for Fedora Linux.

Contact: Guy Jennings