diff --git a/src/toolbox_scs/routines/boz.py b/src/toolbox_scs/routines/boz.py index 5c66f729fb1126550ee6b4c677de4beeb548cd22..e04032599dadc3b38ad91d5ce42030340725f911 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):