The shadow test compares a pixel with the median of its ring, which assumes the background is flat
around a ring with nothing in the beam. It is not: a polarized source suppresses the background in
its own plane by 1 - sin^2(2 theta), a factor of three at 2 theta = 55 degrees and four at 70. That
is several times the dip the test is looking for, so on a short-distance geometry the two horizontal
lobes of every outer ring read as shadow. Measured over the corpus it cost one dataset 5.1 % of its
detector, and another 11.2 %, with nothing visible under either mask.
The mean projection is therefore divided by the Kahn factor before the ring comparison, and the
Poisson deficit multiplies it back in so the significance is still the significance of the counts
that were recorded. The factor is the geometry's own CalcAzIntPolarizationCorr, evaluated about the
centre the caller named rather than the one in the file: the azimuth is the whole point of this
correction, and the geometry is what knows where the polarization plane lies once the detector is
tilted, the stored image quarter-turned or the detector rotated in its own plane. Six corpus
datasets are quarter-turned, and a flat-detector formula on the stored image's own axes gets them
90 degrees out of phase - measured, it takes one of them from 16.5 % masked to 22.8 % where the
geometry takes it to 4.4 %. Polarization is also the only correction a ring carries that varies
along it; solid angle, detector and air absorption are functions of 2 theta and the ring median
absorbs them.
Measured, mask fraction of the detector: a clean 110 mm sweep 0.82 -> 0.51 %, a clean 200 mm 18 Mpx
sweep 0.94 -> 0.80 %, a 150 mm sweep whose header centre is 351 px out 5.05 -> 0.74 %, and the
sweep with a third of the detector behind a pin 32.22 -> 32.83 %. Clean detectors lose mask, a real
obstruction gains it. Across 151 corpus datasets nothing gains more than a tenth of a percent from
the correction and 26 lose some, 6 of them by more than 3 percentage points.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>