Skip to main content

orGUI: Orientation and Integration with 2D detectors

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orgui-1.5.0.tar.gz (8.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orgui-1.5.0-py3-none-any.whl (5.6 MB view details)

Uploaded Python 3

File details

Details for the file orgui-1.5.0.tar.gz.

File metadata

  • Download URL: orgui-1.5.0.tar.gz
  • Upload date:
  • Size: 8.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for orgui-1.5.0.tar.gz
Algorithm Hash digest
SHA256 5631928238aff96556bef93a15ad2426f636f084e15e1c39763f126c7c806907
MD5 93a81f27f0662ea8971778c79bbce033
BLAKE2b-256 4f2e976da5ef3bfb661e22fa49eae93d057516115fdc1ff9559a52bbefbf05b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for orgui-1.5.0.tar.gz:

Publisher: release.yml on tifuchs/orGUI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file orgui-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: orgui-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for orgui-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a394621fbfaa83524419274f7f4bf318c8dbc2782220676ceddd57ca87d13b78
MD5 b2c6d3700018867d41b2e83eefd76cb7
BLAKE2b-256 aa921c23cb96adaf5836ba4cb44fdee419de68ffa547550e29332fe7bc77743a

See more details on using hashes here.

Provenance

The following attestation bundles were made for orgui-1.5.0-py3-none-any.whl:

Publisher: release.yml on tifuchs/orGUI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page