Files
Jungfraujoch/tools
leonarski_f 545ebdf868 Merge: per-crystal CC1/2-delta rejection (--reject-delta-cchalf)
CrystFEL deltaCChalf-style per-crystal quality filter for heterogeneous serial
data. Each image is assigned to one CC1/2 half, so removing it perturbs only that
half's per-reflection means; deltaCChalf_i = CC1/2(all) - CC1/2(without image i).
A negative value means dropping the image RAISES CC1/2 (it disagrees with the
consensus). Images whose deltaCChalf is a low-side statistical outlier
(< mean - N*stddev) are skipped when merging. Reference-free.

Two passes over the retained integration outcomes; per-image contributions are
re-derived rather than stored, so memory stays O(unique reflections + images) for
full 200k-frame runs. New CLI flag --reject-delta-cchalf <N> (default: off).

Validation (jet FFBIDX +C+S, sigma4): removing 17/4000 (3 sigma) raises CC1/2
95.1->96.1%, CCref 54.9->55.2; 2 sigma -> 96.1/55.3. Dataset-appropriate: it HELPS
heterogeneous serial data (some crystals genuinely bad) but slightly trims a
homogeneous single rotation crystal (c2 94.6->93.8 - no bad crystals, the relative
cut still removes the tail), so it is opt-in. R-free is the real test (user's full
200k). Note: the reported overall N_obs still counts all observations; the exported
merge (and CC1/2) correctly exclude the rejected images.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 12:32:52 +02:00
..
2026-06-08 08:30:35 +02:00
2026-06-08 08:30:35 +02:00
2026-02-18 16:17:21 +01:00
2026-04-30 16:47:53 +02:00
2026-05-06 21:50:02 +02:00
2026-04-30 16:47:53 +02:00
2025-09-08 20:28:59 +02:00
2025-04-14 11:52:06 +02:00
2025-05-28 18:49:27 +02:00
2024-11-22 21:25:20 +01:00
2024-11-26 16:04:38 +01:00
2026-06-08 08:30:35 +02:00
2026-02-01 13:29:33 +01:00
2026-06-08 08:30:35 +02:00