fitFocusCurve: fix 'scale' computation for robust fitting
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user