fitFocusCurve: fix 'scale' computation for robust fitting
This commit is contained in:
@@ -121,11 +121,20 @@ def fitFocusCurve(
|
|||||||
np.inf,
|
np.inf,
|
||||||
) # parabola with minimum (2nd derivative must be positive)
|
) # parabola with minimum (2nd derivative must be positive)
|
||||||
|
|
||||||
if coeffs[2] < 0:
|
if coeffs[2] < 0: # it seems the non-robust fit failed!
|
||||||
coeffs[2] = 0
|
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
|
# robust fitting
|
||||||
res = least_squares(
|
res = least_squares(
|
||||||
polyModelResid,
|
polyModelResid,
|
||||||
|
|||||||
Reference in New Issue
Block a user