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.
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:
Further Reading
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).
License
orGUI is licensed under the MIT license.
Citation
orGUI releases can be cited via their DOI on Zenodo:
Metadata
Release files for orGUI 1.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| orgui-1.5.0.tar.gz | 8.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| orgui-1.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.7 MB
Release files / orgui-1.5.0.tar.gz
| Download URL | orgui-1.5.0.tar.gz |
|---|---|
| Size | 8.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5631928238aff96556bef93a15ad2426f636f084e15e1c39763f126c7c806907
|
|
BLAKE2b-256 checksum How to use checksums |
4f2e976da5ef3bfb661e22fa49eae93d057516115fdc1ff9559a52bbefbf05b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 7, 2026.
Transparency logRelease files / orgui-1.5.0-py3-none-any.whl
| Download URL | orgui-1.5.0-py3-none-any.whl |
|---|---|
| Size | 5.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a394621fbfaa83524419274f7f4bf318c8dbc2782220676ceddd57ca87d13b78
|
|
BLAKE2b-256 checksum How to use checksums |
aa921c23cb96adaf5836ba4cb44fdee419de68ffa547550e29332fe7bc77743a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 7, 2026.
Transparency log