Allow fitting of measurements without peaks
This commit is contained in:
parent
23c8a573d7
commit
6337afb4c3
@ -154,8 +154,17 @@ def create():
|
|||||||
(params["g_amp"].value - fit["int_area"].n) / params["g_amp"].value,
|
(params["g_amp"].value - fit["int_area"].n) / params["g_amp"].value,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
numfit_min_span.location = x[fit["numfit"][0]]
|
numfit_min, numfit_max = fit["numfit"]
|
||||||
numfit_max_span.location = x[fit["numfit"][1]]
|
if numfit_min is None:
|
||||||
|
numfit_min_span.location = None
|
||||||
|
else:
|
||||||
|
numfit_min_span.location = x[numfit_min]
|
||||||
|
|
||||||
|
if numfit_max is None:
|
||||||
|
numfit_max_span.location = None
|
||||||
|
else:
|
||||||
|
numfit_max_span.location = x[numfit_max]
|
||||||
|
|
||||||
else:
|
else:
|
||||||
plot_gauss_source.data.update(x=[], y=[])
|
plot_gauss_source.data.update(x=[], y=[])
|
||||||
plot_bkg_source.data.update(x=[], y=[])
|
plot_bkg_source.data.update(x=[], y=[])
|
||||||
@ -334,56 +343,8 @@ def create():
|
|||||||
|
|
||||||
def fit_all_button_callback():
|
def fit_all_button_callback():
|
||||||
for meas in det_data["meas"].values():
|
for meas in det_data["meas"].values():
|
||||||
num_of_peaks = meas.get("num_of_peaks")
|
|
||||||
if num_of_peaks is not None and num_of_peaks == 1:
|
|
||||||
pyzebra.fitccl(
|
|
||||||
meas,
|
|
||||||
guess=[
|
|
||||||
centre_guess.value,
|
|
||||||
sigma_guess.value,
|
|
||||||
ampl_guess.value,
|
|
||||||
slope_guess.value,
|
|
||||||
offset_guess.value,
|
|
||||||
],
|
|
||||||
vary=[
|
|
||||||
centre_vary.active,
|
|
||||||
sigma_vary.active,
|
|
||||||
ampl_vary.active,
|
|
||||||
slope_vary.active,
|
|
||||||
offset_vary.active,
|
|
||||||
],
|
|
||||||
constraints_min=[
|
|
||||||
centre_min.value,
|
|
||||||
sigma_min.value,
|
|
||||||
ampl_min.value,
|
|
||||||
slope_min.value,
|
|
||||||
offset_min.value,
|
|
||||||
],
|
|
||||||
constraints_max=[
|
|
||||||
centre_max.value,
|
|
||||||
sigma_max.value,
|
|
||||||
ampl_max.value,
|
|
||||||
slope_max.value,
|
|
||||||
offset_max.value,
|
|
||||||
],
|
|
||||||
numfit_min=integ_from.value,
|
|
||||||
numfit_max=integ_to.value,
|
|
||||||
)
|
|
||||||
|
|
||||||
sel_ind = meas_table_source.selected.indices[-1]
|
|
||||||
_update_plot(meas_table_source.data["measurement"][sel_ind])
|
|
||||||
|
|
||||||
fit_all_button = Button(label="Fit All", button_type="primary", default_size=145)
|
|
||||||
fit_all_button.on_click(fit_all_button_callback)
|
|
||||||
|
|
||||||
def fit_button_callback():
|
|
||||||
sel_ind = meas_table_source.selected.indices[-1]
|
|
||||||
meas = meas_table_source.data["measurement"][sel_ind]
|
|
||||||
|
|
||||||
num_of_peaks = det_data["meas"][meas].get("num_of_peaks")
|
|
||||||
if num_of_peaks is not None and num_of_peaks == 1:
|
|
||||||
pyzebra.fitccl(
|
pyzebra.fitccl(
|
||||||
det_data["meas"][meas],
|
meas,
|
||||||
guess=[
|
guess=[
|
||||||
centre_guess.value,
|
centre_guess.value,
|
||||||
sigma_guess.value,
|
sigma_guess.value,
|
||||||
@ -412,8 +373,52 @@ def create():
|
|||||||
slope_max.value,
|
slope_max.value,
|
||||||
offset_max.value,
|
offset_max.value,
|
||||||
],
|
],
|
||||||
|
numfit_min=integ_from.value,
|
||||||
|
numfit_max=integ_to.value,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
sel_ind = meas_table_source.selected.indices[-1]
|
||||||
|
_update_plot(meas_table_source.data["measurement"][sel_ind])
|
||||||
|
|
||||||
|
fit_all_button = Button(label="Fit All", button_type="primary", default_size=145)
|
||||||
|
fit_all_button.on_click(fit_all_button_callback)
|
||||||
|
|
||||||
|
def fit_button_callback():
|
||||||
|
sel_ind = meas_table_source.selected.indices[-1]
|
||||||
|
meas = meas_table_source.data["measurement"][sel_ind]
|
||||||
|
|
||||||
|
pyzebra.fitccl(
|
||||||
|
det_data["meas"][meas],
|
||||||
|
guess=[
|
||||||
|
centre_guess.value,
|
||||||
|
sigma_guess.value,
|
||||||
|
ampl_guess.value,
|
||||||
|
slope_guess.value,
|
||||||
|
offset_guess.value,
|
||||||
|
],
|
||||||
|
vary=[
|
||||||
|
centre_vary.active,
|
||||||
|
sigma_vary.active,
|
||||||
|
ampl_vary.active,
|
||||||
|
slope_vary.active,
|
||||||
|
offset_vary.active,
|
||||||
|
],
|
||||||
|
constraints_min=[
|
||||||
|
centre_min.value,
|
||||||
|
sigma_min.value,
|
||||||
|
ampl_min.value,
|
||||||
|
slope_min.value,
|
||||||
|
offset_min.value,
|
||||||
|
],
|
||||||
|
constraints_max=[
|
||||||
|
centre_max.value,
|
||||||
|
sigma_max.value,
|
||||||
|
ampl_max.value,
|
||||||
|
slope_max.value,
|
||||||
|
offset_max.value,
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
_update_plot(meas)
|
_update_plot(meas)
|
||||||
|
|
||||||
fit_button = Button(label="Fit Current", default_size=145)
|
fit_button = Button(label="Fit Current", default_size=145)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user