def fit_ohlines_pixel(s_list, ref_pixel_list): fit_results = reidentify_lines_all(s_list, ref_pixel_list, sol_list_transform=None) # extract centroids from the fit fitted_positions = [] for results_, dpix_list in fit_results: positions = [sol_[0][0] + dpix for sol_, dpix in \ zip(results_, dpix_list)] # reidentified_lines.append((np.concatenate(fitted_positions), # np.concatenate(ref_wvl))) fitted_positions.append(np.array(map(np.mean, positions))) return fitted_positions
def fit_ohlines_parameters(ohlines, line_indices_list, orders_w_solution, wvl_solutions, s_list, nan_for_bad_fits=True): ref_wvl_list, ref_pixel_list = \ get_ref_list(ohlines, line_indices_list, orders_w_solution, wvl_solutions, s_list) fit_results = reidentify_lines_all(s_list, ref_pixel_list, sol_list_transform=None) # check fit status and replace with nan when fit is not successful. if nan_for_bad_fits: for r in fit_results: for r1 in r[0]: if r1[2] < 0: r1[0][:] = np.nan return ref_wvl_list, ref_pixel_list, fit_results