From 11eb7609367e47c3eb23ade703dc410dbd962de7 Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Sun, 8 Nov 2026 08:44:29 +0100 Subject: [PATCH] live stills: rugnux integrates every frame, whatever the broker's quick_integration JFJochReceiverRugnuxStills::AnalysisSettings started from the broker's spot-finding settings, and IndexAndRefine gates integration on their quick_integration - whose API default is false. With the default, live stills integrated nothing and merged nothing. The analysis settings now switch integration on themselves; JFJochReceiverRugnux_Stills runs with the broker's default and failed before (no merge, no space group). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01HVeDQsU5a8AJUdJPgWevAK --- receiver/JFJochReceiverRugnuxStills.cpp | 4 +++- tests/JFJochReceiverRugnuxTest.cpp | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/receiver/JFJochReceiverRugnuxStills.cpp b/receiver/JFJochReceiverRugnuxStills.cpp index f57343ee3..daf94a98f 100644 --- a/receiver/JFJochReceiverRugnuxStills.cpp +++ b/receiver/JFJochReceiverRugnuxStills.cpp @@ -126,10 +126,12 @@ void JFJochReceiverRugnuxStills::StillsReady(const StillsSetup &setup) { } SpotFindingSettings JFJochReceiverRugnuxStills::AnalysisSettings() { - // The broker's settings, with the spot finder of the pre-pass: adaptive threshold, single-pixel spots kept + // The broker's settings, with the spot finder of the pre-pass: adaptive threshold, single-pixel spots kept. + // Every frame is integrated: integration is rugnux's, not the broker's to switch off. SpotFindingSettings settings = GetSpotFindingSettings(); settings.adaptive_threshold = true; settings.min_pix_per_spot = std::nullopt; + settings.quick_integration = true; return settings; } diff --git a/tests/JFJochReceiverRugnuxTest.cpp b/tests/JFJochReceiverRugnuxTest.cpp index a13f82282..03655b798 100644 --- a/tests/JFJochReceiverRugnuxTest.cpp +++ b/tests/JFJochReceiverRugnuxTest.cpp @@ -145,6 +145,10 @@ TEST_CASE("JFJochReceiverRugnux_Stills", "[JFJochReceiverRugnux]") { service.NumThreads(4); service.Indexing(x.GetIndexingSettings()); service.RugnuxLive(true, nullptr, 4, 60); + // Integration in live stills is rugnux's own, whatever the broker's spot-finding settings say. + SpotFindingSettings spot_finding; + spot_finding.quick_integration = false; + service.SetSpotFindingSettings(spot_finding); service.Start(x, mask, nullptr, stream.puller); const auto out = service.Stop();