SAXS beamline

Software information

This page provides an overview of the software used at the SAXS beamline to acquire, reduce and analyze data.

Data acquisition

LabView: The beamline control software is written in LabView by the SAXS staff. Currently version 6i is used for performance and hardware compatibility reasons. Much of the ancillary instrumentation available for user experiments, such as thermal control units, DSC unit, motor controllers etc. is also controlled from LabView programs, enabling flexible combination and extension to meet users’ needs.
Data synchronization and logging: All beamline computers are time-synchronized, such that detector data and instrument-specific logs can be matched with minimum effort. There is an 8-channel data logger (5 channels are available for user experiments) for time-resolved diagnostics of analog signals, such as thermocouples, pressure gauges, etc.
Installing your own equipment: Please contact us in advance if your experiment needs computer control and precise time synchronization with the data acquisition system. If you only need to control ancillary instrumentation, the most convenient solution for single beamtimes is to bring the computer with you, so that compatibility and/or configuration problems can be avoided. In such cases we can provide standard accessories upon request.

Detector-specific software

Each detector used at the beamline uses its own data acquisition system (hardware and software), provided by the manufacturer. The detector interacts with the rest of the experiment through hardware signals (e.g. trigger).
TVX+camserver: these programs are used to control the Pilatus3 1M detector and the Pilatus 100K detector (camserver does low-level communication, TVX provides a friendlier user interface and real-time visualization). Files are stored as 32-bit TIFF, with a set of custom tags to store detector-specific metadata.
HCI: this program reads and displays the data from the 1D detectors available at the beamline. This software can be used to acquire both one-dimensional frames, and two-dimensional patterns performed in static, or time-resolved experiments. Files are stored in binary format.
 

Data processing

Fit2D, by Andy Hammersley (ESRF), is a general-purpose program for the visualization, analysis and reduction of 2D X-ray data. It is available at no cost for research purposes, and widely used by the synchrotron community, especially in the fields of SAXS and crystallography. Fit2D is fully scriptable and can be operated in batch mode to perform repetitive tasks on file lists (e.g. 2D->1D reduction, file format conversion, etc). It is used as the main data reduction program at the SAXS beamline.
Igor Pro is a general-purpose data analysis and visualization program, available on Macintosh and Windows platforms. It is quite popular in the scattering community, and used as the main data analysis workhorse at our beamline, for its speed and flexibility. We make an ever-growing collection of Igor subroutines available to all our users, covering common specialized file import/export, data analysis and manipulation, model fitting etc.
IDL is a computing environment for the interactive analysis and visualization of data. IDL integrates an array-oriented language with numerous mathematical analysis and graphical display techniques. The program is mainly used for the reduction of multiple frame data. Individual procedures are written by members of the SAXS group and are available by request.
ATSAS is a software package programmed and maintained by D. Svergun and his group at EMBL Hamburg. The various programs can be used for small-angle scattering data analysis from biological macromolecules (e.g. protein solution data).

Binary format of the HCI files

A standard HCI data file begins with a leading header of 512 bytes length. The first 256 bytes (00 to FF hex) are reserved for general information together with some possible user comments. The second 256 bytes (100 to 1F0 hex) contain important program parameter and are not available for editing. Intensities values are saved as 4 byte Integer (low byte, high byte) in the following data format:
 
[x1,y1]            [x2,y1]            [x3,y1]            [xend,y1]
[x1,y2]            [x2,y2]            [x3,y2]            [xend,y2]
. . .       . . .       . . .       . . .
. . .       . . .       . . .       . . .
. . .       . . .       . . .       . . .
[x1,yend]        [x2,yend]        [x3,yend]        [xend,yend]
 
where [x1,y1] is the first point of the first Frame (Pattern) and [xend,yend] the last point of the last Frame or Pattern.
Last Updated on Thursday, 24 March 2022 17:46