diff --git a/rugnux/Rugnux.cpp b/rugnux/Rugnux.cpp index 172a6d76..3d4c4bce 100644 --- a/rugnux/Rugnux.cpp +++ b/rugnux/Rugnux.cpp @@ -1008,8 +1008,13 @@ ProcessResult Rugnux::RunPipeline(RugnuxObserver *observer, bool write_output, b merge_engine.ErrorModelB(), merge_engine.ErrorModelB() > 0 ? 1.0 / merge_engine.ErrorModelB() : 0.0, merge_engine.ErrorModelChi2()); + // Merge-consistency filter: on floods with many spurious lattices (e.g. XFEL large cells) + // most indexed crystals do not correlate with the true structure; --min-image-cc drops the + // crystals whose per-image CC to the reference is below the limit, so the merge keeps only + // the coherent (real) ones. + const bool cc_filter = !for_search && experiment_.GetScalingSettings().GetMinCCForImage() > 0.0; for (size_t i = 0; i < merge_input.size(); ++i) - merge_engine.AddImage(merge_input[i], static_cast(i)); + merge_engine.AddImage(merge_input[i], static_cast(i), cc_filter); ScaleMergeResult out; out.merged = merge_engine.ExportReflections();