From 72310c2ee10aebcad60ba2542587680f7bef3315 Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Sun, 8 Nov 2026 11:12:23 +0100 Subject: [PATCH] JFJochReceiverDarkMask: send nothing on the preview and metadata sockets As for pedestal runs: the dark frames of the mask sequence are no images for preview or metadata consumers, so the dark mask receiver no longer takes the two sockets. The mask reaches the broker through GetFinalStatistics as before. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01HVeDQsU5a8AJUdJPgWevAK --- receiver/JFJochReceiverDarkMask.cpp | 8 ++------ receiver/JFJochReceiverDarkMask.h | 6 ++---- receiver/JFJochReceiverService.cpp | 4 +--- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/receiver/JFJochReceiverDarkMask.cpp b/receiver/JFJochReceiverDarkMask.cpp index c9e53d95b..527cd77f0 100644 --- a/receiver/JFJochReceiverDarkMask.cpp +++ b/receiver/JFJochReceiverDarkMask.cpp @@ -13,9 +13,7 @@ JFJochReceiverDarkMask::JFJochReceiverDarkMask(const DiffractionExperiment &in_e const SpotFindingSettings &in_spot_finding_settings, JFJochReceiverCurrentStatus &in_current_status, JFJochReceiverPlots &in_plots, - ImageBuffer &in_image_buffer, - ZMQPreviewSocket *in_zmq_preview_socket, - ZMQMetadataSocket *in_zmq_metadata_socket) + ImageBuffer &in_image_buffer) : JFJochReceiverStream(in_experiment, in_pixel_mask, in_image_puller, @@ -25,9 +23,7 @@ JFJochReceiverDarkMask::JFJochReceiverDarkMask(const DiffractionExperiment &in_e in_spot_finding_settings, in_current_status, in_plots, - in_image_buffer, - in_zmq_preview_socket, - in_zmq_metadata_socket), + in_image_buffer), mask_buffer(nthreads), dark_mask_analysis(in_experiment.GetDarkMaskSettings(), in_experiment.GetPixelsNum()) { StartThreads(); diff --git a/receiver/JFJochReceiverDarkMask.h b/receiver/JFJochReceiverDarkMask.h index c3c6b84dd..d0706f88a 100644 --- a/receiver/JFJochReceiverDarkMask.h +++ b/receiver/JFJochReceiverDarkMask.h @@ -8,7 +8,7 @@ #include "JFJochReceiverStream.h" #include "../image_analysis/dark_mask_analysis/DarkMaskAnalysis.h" -// The dark frames of the mask sequence: each goes into DarkMaskAnalysis and the image buffer, nothing is sent. +// The dark frames of the mask sequence: each goes into DarkMaskAnalysis and the image buffer, nothing goes out on any socket. class JFJochReceiverDarkMask : public JFJochReceiverStream { std::vector> mask_buffer; // per image thread DarkMaskAnalysis dark_mask_analysis; @@ -24,9 +24,7 @@ public: const SpotFindingSettings &spot_finding_settings, JFJochReceiverCurrentStatus ¤t_status, JFJochReceiverPlots &plots, - ImageBuffer &image_buffer, - ZMQPreviewSocket *zmq_preview_socket = nullptr, - ZMQMetadataSocket *zmq_metadata_socket = nullptr); + ImageBuffer &image_buffer); ~JFJochReceiverDarkMask() override; JFJochReceiverOutput GetFinalStatistics() const override; diff --git a/receiver/JFJochReceiverService.cpp b/receiver/JFJochReceiverService.cpp index cf9f767bd..47c1b2743 100644 --- a/receiver/JFJochReceiverService.cpp +++ b/receiver/JFJochReceiverService.cpp @@ -163,9 +163,7 @@ void JFJochReceiverService::Start(const DiffractionExperiment &experiment, spot_finding_settings, receiver_status, plots, - image_buffer, - zmq_preview_socket.get(), - zmq_metadata_socket.get()); + image_buffer); else if (rugnux_enable && (experiment.GetDetectorMode() == DetectorMode::Standard) && RugnuxRotationData(experiment)) receiver = std::make_unique( experiment, pixel_mask, *image_puller, image_pusher, logger, nthreads,