Skip to content

tifuchs/orGUI

Repository files navigation

orGUI: Orientation and Integration with 2D Detectors

Documentation Status PyPI Version zenodo DOI

logo

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).

Installation

Install orGUI with its full GUI and analysis dependency set:

pip install orGUI[full]

For a minimal install:

pip install orGUI

Geometry and Detector Calibration

orGUI 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.

diffractometer

Integration Modes

  • 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.

Documentation

The documentation is available on Read the Docs:

https://orgui.readthedocs.io/en/latest/

Further Reading

The geometry and orientation-matrix workflows build on:

License

orGUI is licensed under the MIT license.

Citation

orGUI releases can be cited via their DOI on Zenodo:

https://doi.org/10.5281/zenodo.12592485