use Parameter when collecting fit values

This commit is contained in:
Dominik Demuth
2023-09-18 13:52:10 +02:00
parent 03d172bade
commit bd1a227e4c
5 changed files with 94 additions and 84 deletions

View File

@ -441,21 +441,22 @@ class UpperManagement(QtCore.QObject):
# all-encompassing error catch
try:
for model_id, model_p in parameter.items():
m = Model(model_p['func'])
m = model_p['func']
models[model_id] = m
m_complex = model_p['complex']
print(model_p)
# sets are not in active order but in order they first appeared in fit dialog
# iterate over order of set id in active order and access parameter inside loop
# instead of directly looping
list_ids = list(model_p['parameter'].keys())
list_ids = list(model_p['data_parameter'].keys())
set_order = [self.active_id.index(i) for i in list_ids]
for pos in set_order:
set_id = list_ids[pos]
data_i = self.data[set_id]
set_params = model_p['parameter'][set_id]
set_params = model_p['data_parameter'][set_id]
if we_option.lower() == 'deltay':
we = data_i.y_err**2
@ -485,18 +486,13 @@ class UpperManagement(QtCore.QObject):
d = fit_d.Data(_x[inside], _y[inside], we=we[inside], idx=set_id)
d.set_model(m)
d.set_parameter(set_params[0], var=model_p['var'],
lb=model_p['lb'], ub=model_p['ub'],
fun_kwargs=set_params[1])
d.set_parameter(set_params[0], fun_kwargs=set_params[1])
# d.set_parameter(set_params[0], var=model_p['var'],
# lb=model_p['lb'], ub=model_p['ub'],
# fun_kwargs=set_params[1])
self.fitter.add_data(d)
model_globs = model_p['glob']
if model_globs:
for parameter_args in zip(*model_globs.values()):
m.set_global_parameter(**{k: v for k, v in zip(model_globs.keys(), parameter_args)})
# m.set_global_parameter(**model_p['glob'])
for links_i in links:
self.fitter.set_link_parameter((models[links_i[0]], links_i[1]),
(models[links_i[2]], links_i[3]))