From 6f8623fee85f0af743c8cccd7ecd5e9a9feb8a6b Mon Sep 17 00:00:00 2001 From: x01dc Date: Mon, 13 Jul 2026 21:57:39 +0200 Subject: [PATCH] feat(flomni): warn in tomo_parameters() when single-point mode needs a different call tomo_scan_projection() always runs a Fermat scan and tomo_acquire_at_angle() always runs a single-point acquisition -- they aren't interchangeable, and calling tomo_scan_projection() directly while single_point_instead_of_fermat_scan is on triggers an interactive confirmation prompt that would hang an unattended queue run. tomo_parameters() now prints a reminder of which one to call (including inside a custom at_each_angle hook) whenever single-point mode is enabled, surfacing this proactively instead of only at the point of the runtime prompt. Co-Authored-By: Claude Sonnet 5 --- csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py b/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py index 7d72049..d9e3de0 100644 --- a/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py +++ b/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py @@ -3500,6 +3500,12 @@ class Flomni( print(f"Single point instead of fermat = {self.single_point_instead_of_fermat_scan}") if self.single_point_instead_of_fermat_scan: print(f"Single point random shift max = {self.single_point_random_shift_max}") + print( + "\x1b[93mNote: with single-point mode on, acquire a single projection " + "(including inside a custom at_each_angle hook) with " + "tomo_acquire_at_angle(angle), not tomo_scan_projection(angle) -- the " + "latter always runs a full Fermat scan regardless of this setting.\x1b[0m" + ) if self.at_each_angle_hook: print(f"At-each-angle hook = {self.at_each_angle_hook}") print("")