From dde3eb0becf99e0518e339ea0bf60e45e1603083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Le=20Guyader?= <loic.le.guyader@xfel.eu> Date: Sun, 23 Apr 2023 18:15:37 +0200 Subject: [PATCH] Prevent negative flat field correction --- src/toolbox_scs/routines/boz.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/toolbox_scs/routines/boz.py b/src/toolbox_scs/routines/boz.py index 5c66f72..e040325 100644 --- a/src/toolbox_scs/routines/boz.py +++ b/src/toolbox_scs/routines/boz.py @@ -1162,6 +1162,10 @@ def ff_refine_crit(p, alpha, params, arr_dark, arr, tid, rois, """ params.set_flat_field(p) ff = compute_flat_field_correction(rois, params) + if np.any(ff < 0.0): + bad = 1e6 + else: + bad = 0.0 data = process(None, arr_dark, arr, tid, rois, mask, ff, sat_level, params._using_gpu) @@ -1179,7 +1183,7 @@ def ff_refine_crit(p, alpha, params, arr_dark, arr, tid, rois, (1.0 - np.nanmean(rp['muA']))**2 + (1.0 - np.nanmean(rd['muA']))**2) - return 1e3*(alpha*err_sigma + (1-alpha)*err_mean) + return bad + 1e3*(alpha*err_sigma + (1-alpha)*err_mean) def ff_refine_fit(params): -- GitLab