PyFAI, a versatile library for azimuthal regrouping
European Synchrotron Radiation Facility; 6 rue Jules Horowitz; 38043 Grenoble; France
Journal of Physics: Conference Series, 2012
@article{kieffer2012pyfai,
title={PyFAI, a versatile library for azimuthal regrouping},
author={Kieffer, J. and Karkoulis, D.},
year={2012}
}
2D area detectors like ccd or pixel detectors have become popular in the last 15 years for diffraction experiments (e.g. for waxs, saxs, single crystal and powder diffraction (xrpd)). These detectors have a large sensitive area of millions of pixels with high spatial resolution. The software package pyFAI has been designed to reduce saxs, waxs and xrpd images taken with those detectors into 1D curves (azimuthal integration) usable by other software for in-depth analysis such as Rietveld refinement, or 2D images (a radial transformation named caking). As a library, the aim of pyFAI is to be integrated into other tools like PyMca or edna with a clean pythonic interface. However pyFAI features also command line tools for batch processing, converting data into q-space (q being the momentum transfer) or 2theta-space (theta being the Bragg angle) and a calibration graphical interface for optimizing the geometry of the experiment using the Debye-Scherrer rings of a reference sample. PyFAI shares the geometry definition of spd but can directly import geometries determined by the software fit2d. PyFAI has been designed to work with any kind of detector and geometry (transmission or reflection) and relies on FabIO, a library able to read more than 20 image formats produced by detectors from 12 different manufacturers. During the transformation from cartesian space (x, y) to polar space (2theta, chi), both local and total intensities are conserved in order to obtain accurate quantitative results. Technical details on how this integration is implemented and how it has been ported to native code and parallelized on graphic cards are discussed in this paper.
November 25, 2012 by hgpu