A rotation frame is refined on the sweep's one cell (orientation and beam per frame, never the
cell), and a crystal whose cell grows with the dose leaves that cell behind: the per-frame gate
(20 % of the in-resolution, non-ice spots on the lattice) then refuses the frames it misses as if
the crystal had gone. A frame that fails the gate is now tried once more on the sweep's cell scaled
isotropically - steps of 0.1 %, out to +-2 %, nearest first - to the scale that puts most of its
non-ice spots on the lattice, re-refined there, and integrated on it where it then clears the gate.
The scale must gain more spots than sqrt(count), so forty trial scales cannot turn a chance spot on a
sparse frame into a frame. Ice-ring spots are not counted, as the gate does not count them. A frame
the sweep's cell already admits is untouched, and only the per-image integration path does this
(not the first-pass validation scoring).
Found on 5ky6 (P 1 21 1, 564 x 0.5 deg, B rising by 46 A^2 over the sweep), which part B
(5b9144410, decisions before pass 2 from the first part of the sweep) turned from P 1 21 1 into
P 1 2 1. The mechanism:
- The first pass now indexes on [0, 141 deg). A per-frame probe of the isotropic scale that puts
most spots on the canonical lattice reads -0.1 % on frame 0, +0.4 % at 50 deg, >= +0.6 % from
115 deg on (at frame 230: 62 spots on the lattice at the sweep's cell, 112 at +0.6 %). Sampling
the whole sweep (before part B) handed pass 2 a cell averaged over the dose, so frames to ~147 deg
and part of the last wedge still cleared the gate; the early-range cell is the low-dose cell, and
every frame from 113 deg on was refused (221 of 564 frames merged, completeness 83 %).
- The axial 0k0 row is recorded in those frames: the merge held 1 screw-absent axial reflection
instead of 15, so the 2_1 screw could not be decided (P2 by default), and R-free 0.243 -> 0.263.
- Separately, on the early range the FFT candidate matched a false C-orthorhombic setting
(gamma 92 deg) whose refutation fell straight to triclinic instead of P-monoclinic, so the cell
was refined free (cell dev 0.64 -> 1.03 %). Not changed here (see the report).
Integrating every frame from the sweep's cell instead (the sparse-lattice switch forced on) also
recovers P 1 21 1, but at 1.63 A with ISa 5.0 and R_meas 45 %: the late frames are then integrated
on a cell they have left.
Result (GPU, battery verdicts against the rc175 full run 7c9a6c7d1):
5ky6 fail P 1 2 1, d 1.50, R-free 0.263, compl 83.0 % -> pass P 1 21 1, d 1.62, R-free 0.234,
compl 99.6 % (pre-part-B: P 1 21 1, 1.54, 0.244, 96.9 %)
9rci pass -> pass, compl 86.5 -> 94.7 %, d 1.81 -> 1.76
9qw8 pass -> pass, R-free 0.329 -> 0.326, ISa 5.2 -> 5.5
8v4o fail -> fail (its part-B lattice loss is untouched), compl 22.3 -> 23.1 %
p.mtz md5 unchanged: 5nw5, insu_I_x06da_low_isa, nothing_1, nothing_2, myob_x06da_powder_2,
7atg, 5reo, 6fvz, 6hwj, 6pxc, 8tha, 9crw, 9jzo, 6zqr, 6rym, thau_x10sa_0p1deg, cytc_x10sa.
Catch2: Rugnux_Rotation, RotationIndexer* pass.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SVmAWnzCmRKAXVUCdc4iNi