diff --git a/src/paveit/postprocessing/citt.py b/src/paveit/postprocessing/citt.py index 828d21a..637d6e7 100644 --- a/src/paveit/postprocessing/citt.py +++ b/src/paveit/postprocessing/citt.py @@ -54,17 +54,12 @@ def citt(task_id: str): line_mod = lm.models.LinearModel() out = line_mod.fit(data.stiffness, x=data.phase) - print(out.best_values) - Emax = line_mod.eval(out.params, x=0.0) Emin = 0 assert Emin < Emax - print(data.head()) - - # Fit data mod = lm.models.Model(stiffness_tp26, independent_vars=['f','T']) @@ -104,25 +99,32 @@ def citt(task_id: str): ## run fit results = [] r2 = [] + + + try: + methods = ['leastsq', 'powell'] - methods = ['leastsq', 'powell'] + for method in methods: + result = mod.fit(data.stiffness, T=data.T_set, f=data.f_set, method=method, verbose=False) + + r2temp = 1.0 - result.redchi / np.var(data.stiffness.values, ddof=2) + r2.append(r2temp) - for method in methods: - result = mod.fit(data.stiffness, T=data.T_set, f=data.f_set, method=method, verbose=False) + results.append(result) + + best = np.nanargmax(r2) - r2temp = 1.0 - result.redchi / np.var(data.stiffness.values, ddof=2) - r2.append(r2temp) - - results.append(result) - - best = np.nanargmax(r2) - - res = results[best].best_values + res = results[best].best_values + res['stat_r2'] = r2[best] + + except: + print('error regression, send default values') + + res = mod.valuesdict() + + #add metadata res['nsamples'] = len(data) - res['task_id'] = task_id - - res['stat_r2'] = r2[best] - + res['task_id'] = task_id res['date'] = datetime.datetime.now() print(res)