detector_two_theta — DRIVE pxrd op

• Data kinds: any × table → table

• Call: import fullseye as fs; fs.ledger.detector_two_theta(shape, geometry) (to call the implementation directly, import pxrd; pxrd.detector_two_theta(shape, geometry); from the registry, opsdrive.get("detector_two_theta"))

Usage

2θ, azimuth χ and relative solid angle of each detector pixel (with tilt, distance and center).

shape = (H, W); geometry is the Fit2D type in the module docstring. Return value (dict): two_theta [deg], chi [deg] (atan2; +column is 0, +row is +90), solid_angle (relative value that is 1 at the beam centre with zero tilt, falling off as cos³). 2θ is computed as atan2(hypot(Pₓ, P_y), P_z) (acos would give a rounding floor near 2θ → 0).

Raises ValueError: shape is not 2 positive integers, geometry key missing / misspelled, |tilt| >= 60.

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• poc_pxrd_phase_peel — py -3.11 examples/poc_pxrd_phase_peel.py

Ops the type connects to (they accept table as input)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

Same category (pxrd)

cif_read · cubic_prototype · powder_reflections · scherrer_size · debye_ring_image · detector_calibrate · azimuthal_integrate · diffraction_peaks


*Provenance: pxrd.py — DRIVE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.