Code source de palm_tracer.Settings.Groups.GaussianFit

"""
Fichier contenant la classe :class:`GaussianFit` dérivée de :class:`.BaseSettingGroup`,
qui regroupe les paramètres d'ajustement gaussien nécessaires à la configuration de PALM Tracer.
"""

from dataclasses import dataclass

from palm_tracer.Settings.Groups.BaseSettingGroup import BaseSettingGroup
from palm_tracer.Settings.Types import Combo, SpinFloat


##################################################
[docs] @dataclass class GaussianFit(BaseSettingGroup): """ Classe contenant les paramètres du Gaussian Fit : Attributs : - **Mode** (:class:`Combo <palm_tracer.Settings.Types.Combo.Combo>`) : Méthode d'ajustement gaussien (par défaut : `Mode X, Y`). - `0` : `Mode X, Y` (theta et sigma sont fixes) - `1` : `Mode X, Y, Sigma` (theta est fixe, Sigma Non) - `2` : `Mode X, Y, SigmaX, SigmaY` (theta n'est pas fixe, Sigma Si) - `3` : `Mode X, Y, SigmaX, SigmaY, Theta` (theta et sigma ne sont pas fixes) - **Sigma** (:class:`SpinFloat <palm_tracer.Settings.Types.SpinFloat.SpinFloat>`) : Paramètre σ pour l'ajustement gaussien (par défaut : `1.0`). - **Theta** (:class:`SpinFloat <palm_tracer.Settings.Types.SpinFloat.SpinFloat>`) : Paramètre θ pour l'ajustement gaussien (par défaut : `1.0`). """ label: str = "Gaussian Fit" setting_list = { "Mode": [Combo, ["Mode", "Selects the elements to fit.", 0, ["X, Y", "X, Y, Sigma", "X, Y, SigmaX, SigmaY", "X, Y, SigmaX, SigmaY, Theta"]]], "Sigma": [SpinFloat, ["σ", "Initial value of sigma.", 1.0, [0.0, 10.0], 0.1]], "Theta": [SpinFloat, ["θ", "Initial value of theta.", 0.0, [0.0, 10.0], 0.1]] }
################################################## if __name__ == "__main__": import sys from qtpy.QtWidgets import QApplication, QVBoxLayout, QWidget app = QApplication(sys.argv) w = QWidget() lay = QVBoxLayout(w) # crée et assigne le layout au widget group = GaussianFit() group.active = True w.layout().addWidget(group.widget) w.show() sys.exit(app.exec_())