diff --git a/fitting/Fitter.py b/fitting/Fitter.py index 8e687f2..1c633f4 100644 --- a/fitting/Fitter.py +++ b/fitting/Fitter.py @@ -396,7 +396,7 @@ class Fitter: # error_f_zero_slopes = calculate_list_error(f_zero_slopes, self.f_zero_slopes) error_f_zero_slope_at_straight = abs(self.f_zero_slope_at_straight - f_zero_slope_at_straight) \ / abs(self.f_zero_slope_at_straight+1) - error_f_zero = calculate_list_error(f_zeros, self.f_zero_values) / 10 + error_f_zero = calculate_list_error(f_zeros, self.f_zero_values, self.eod_freq) / 10 error_f0_curve = self.calculate_f0_curve_error(model, fi_curve_model) / 20 @@ -537,11 +537,16 @@ class Fitter: # return abs(model_area_above - cell_area_above) -def calculate_list_error(fit, reference): +def calculate_list_error(fit, reference, eod_freq=0): error = 0 for i in range(len(reference)): # error += abs_freq_error(fit[i] - reference[i]) - error += normed_quadratic_freq_error(fit[i], reference[i]) + + if eod_freq != 0 and fit[i] > 1.1*eod_freq: + error += normed_quadratic_freq_error(fit[i], reference[i]) * 10 + else: + error += normed_quadratic_freq_error(fit[i], reference[i]) + norm_error = error / len(reference) return norm_error