orGUI is a Python GUI and analysis toolkit for surface X-ray diffraction data from large 2D detectors. It helps determine single-crystal orientations, calculate diffractometer settings, and integrate stationary or rocking scans in reciprocal-space coordinates.
Its primary use cases are High Energy Surface X-ray Diffraction (HESXRD) and Transmission Surface Diffraction (TSD).
Install orGUI with its full GUI and analysis dependency set:
pip install orGUI[full]For a minimal install:
pip install orGUIorGUI uses the six-circle surface-diffraction convention of
Lohmeier and Vlieg, with
orGUI-specific modifications: the phi circle rotates around x instead
of z, the machine azimuth rotates the diffractometer around the
incident beam, and the ID31-style theta axis is represented internally as
\theta = -\omega. In the laboratory frame, y points along the beam,
z is set by the azimuth direction, and x is perpendicular to both.
The detector geometry follows the
pyFAI convention. Detector
calibrations from pyFAI, including .poni files from calibration standards,
can be used to map detector pixels to scattering angles and reciprocal-space
coordinates.
- Stationary reciprocal-space integration: Integrates a scan along a line in reciprocal lattice coordinates, such as a crystal truncation rod (CTR). orGUI calculates the line intersections with the Ewald sphere and places ROIs at the corresponding detector positions. Each image produces one I(hkl). This is the fastest way to get integrated CTRs from large 2D detectors.
- Fixed-pixel integration: Integrates a detector ROI at a fixed pixel position. Corresponds to a conventional rocking scan if motors are moved. This is often useful for time-resolved measurements.
- Rocking reciprocal-space integration: Defines a reciprocal-space line and integrates multiple ROIs along the line as rocking scans. This is often useful for quantitative CTR extraction because the rocking dimension helps separate signal from background and improves CTR resolution at low Qz.
- Rocking Bragg integration: Calculates allowed Bragg peaks and their position on the detector from the crystal, UB matrix, detector calibration, strain, then integrates those positions as rocking scans.
The documentation is available on Read the Docs:
https://orgui.readthedocs.io/en/latest/
The geometry and orientation-matrix workflows build on:
- Busing and Levy, Acta Crystallographica 22, 457-464 (1967).
- Lohmeier and Vlieg, Journal of Applied Crystallography 26, 706-716 (1993).
orGUI is licensed under the MIT license.
orGUI releases can be cited via their DOI on Zenodo: