From 5dddd981330a34eb2d605c17b9f39a2af5b3a486 Mon Sep 17 00:00:00 2001 From: patquem Date: Wed, 5 Mar 2025 13:00:05 +0100 Subject: [PATCH] set correct default fwhm when changing model name in model_has_changes() --- fitspy/apps/tkinter/toplevels.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fitspy/apps/tkinter/toplevels.py b/fitspy/apps/tkinter/toplevels.py index 0d75482..5715a45 100644 --- a/fitspy/apps/tkinter/toplevels.py +++ b/fitspy/apps/tkinter/toplevels.py @@ -6,6 +6,7 @@ from tkinter import IntVar, DoubleVar, StringVar, BooleanVar, W, E, END, RIGHT from tkinter.ttk import Combobox +import numpy as np from matplotlib.colors import rgb2hex from lmfit import fit_report from lmfit.model import ModelResult @@ -147,8 +148,9 @@ def model_has_changed(self, i): if new_model_name != old_model_name: ampli = spectrum.peak_models[i].param_hints['ampli']['value'] x0 = spectrum.peak_models[i].param_hints['x0']['value'] - peak_model = spectrum.create_peak_model(i + 1, new_model_name, - x0=x0, ampli=ampli) + dx = max(np.diff(spectrum.x)) + peak_model = spectrum.create_peak_model(i + 1, new_model_name, x0=x0, ampli=ampli, + fwhm=dx, fwhm_l=dx, fwhm_r=dx) spectrum.peak_models[i] = peak_model self.spectrum.result_fit = lambda: None self.plot() # pylint:disable=not-callable