Space-group search (image_analysis/scale_merge/SearchSpaceGroup):
- Two-stage POINTLESS-style determination. Stage A scores each distinct rotation
operator once (was once per candidate space group, ~34x faster on lysozyme:
~26s -> <1s) and picks the largest point group all of whose operators confirm.
Stage B picks the maximal space group whose predicted absences are confirmed
weak, fixing the prototype's default to the symmorphic group (it returned P422
instead of P4(3)2(1)2). Enantiomorphic / origin-ambiguous pairs (P4(1) vs P4(3),
I222 vs I2(1)2(1)2(1)) are reported as indistinguishable.
- Constrain candidates to subgroups of the lattice (metric) holohedry and weigh
centering only P-vs-metric, fed from rotation indexing's LatticeSearch result.
Integration / pipeline:
- With no user-fixed space group, predict in P (IndexAndRefine) so the
centering-absent reflections are integrated and the search can confirm/deny
centering (catching pseudo-centering / a missed superstructure) instead of
trusting the metric; a user-fixed group still rejects absences in integration.
- JFJochProcess: scale+merge in P1 -> determine the space group -> set it and
re-scale+merge in it (statistics then come out in the right symmetry) -> write
it to /entry/sample/space_group_number (new EndMessage.space_group_number,
preferred by NXmx::Sample). jfjoch_scale no longer searches; it consumes the
file's space group (and no longer clobbers it with an empty -S).
Twinning (new image_analysis/scale_merge/TwinningAnalysis): Padilla-Yeates L-test
(<|L|>, <L^2>; acentric-only, positive intensities so L is bounded) plus a
shell-normalised <I^2>/<I>^2 second moment and a twin-fraction estimate. Reported
after the final merge in jfjoch_process and jfjoch_scale, and surfaced in the
jfjoch_viewer merge-statistics window with a red outline when twinning is suspected.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This is an UNSTABLE release. The release has significant modifications and bug fixes, if things go wrong, it is better to revert to 1.0.0-rc.124.
* jfjoch_broker: Fix bug in saving JUNGFRAU calibration (pedestal/pedestalRMS)
* jfjoch_viewer: Fix calibration (pedestal) images being open flipped
* jfjoch_process: Add space group detection (EXPERIMENTAL)
Reviewed-on: #39