parker_weights#

diffct.analytical.parker_weights(angles, num_detectors, detector_spacing, sdd, detector_offset=0.0)[source]#

Parker redundancy weights for a circular fan-beam short scan.

The formula follows Parker (1982): each ray at view beta and fan angle gamma is weighted by a smooth window that guarantees every ray contributes exactly once when integrated over the scan. For a full 2*pi scan this returns a constant 1 tensor (the usual redundancy 1/2 factor lives in angular_integration_weights instead).

Only meaningful for circular (fan-shaped) trajectories — when using non-circular trajectories you typically want either a constant weight (full-coverage) or a custom redundancy scheme. FP16 and BF16 angles are promoted to FP32; FP64 angles retain their precision.