diff --git a/focus_utils.py b/focus_utils.py index e289fac..cdf807e 100644 --- a/focus_utils.py +++ b/focus_utils.py @@ -121,11 +121,20 @@ def fitFocusCurve( np.inf, ) # parabola with minimum (2nd derivative must be positive) - if coeffs[2] < 0: - coeffs[2] = 0 + if coeffs[2] < 0: # it seems the non-robust fit failed! + coeffs[2] = 0 # so, guess curve is just constant! + coeffs[1] = 0 + coeffs[0] = np.nanmedian(flux_rad) + scale = np.nanmedian(np.abs(flux_rad - coeffs[0])) + else: + nr_model = nr_res(np.asarray(focus_value)) + scale = np.nanmedian(np.abs(flux_rad - nr_model)) + + # if coeffs[2] < 0: + # coeffs[2] = 0 + # nr_model = nr_res(np.asarray(focus_value)) + # scale = np.abs(np.nanmedian(flux_rad - nr_model)) - nr_model = nr_res(np.asarray(focus_value)) - scale = np.abs(np.nanmedian(flux_rad - nr_model)) # robust fitting res = least_squares( polyModelResid,