Code source de palm_tracer.Settings.Groups.FilteringT

"""
Fichier contenant la classe :class:`Filtering` dérivée de :class:`.BaseSettingGroup`,
qui regroupe les paramètres de filtrage du tracking nécessaires à la configuration de PALM Tracer.

.. todo:: Vérifier l'ordre de grandeur et les valeurs par défaut des paramètres des filtres. Dynamiquement, changer le max de la longueur
"""

from dataclasses import dataclass

from palm_tracer.Settings.Groups.BaseSettingGroup import BaseSettingGroup
from palm_tracer.Settings.Types import CheckRangeFloat, CheckRangeInt


##################################################
[docs] @dataclass class FilteringT(BaseSettingGroup): """ Classe contenant les paramètres du filtrage pour le tracking : Attributs : - **Length** (:class:`CheckRangeInt <palm_tracer.Settings.Types.CheckRangeInt.CheckRangeInt>`) : Interval de longueur sélectionné (par défaut : `[1, 10000]`). - **Instant D** (:class:`CheckRangeFloat <palm_tracer.Settings.Types.CheckRangeFloat.CheckRangeFloat>`) : Interval de diffusion instantanée sélectionné (par défaut : `[-5, 5]`). - **D Coeff** (:class:`CheckRangeFloat <palm_tracer.Settings.Types.CheckRangeFloat.CheckRangeFloat>`) : Interval de direction sélectionné (par défaut : `[-5, 5]`). - **Alpha** (:class:`CheckRangeFloat <palm_tracer.Settings.Types.CheckRangeFloat.CheckRangeFloat>`) : Interval de puissance sélectionné (par défaut : `[-10, 10]`). - **Speed** (:class:`CheckRangeFloat <palm_tracer.Settings.Types.CheckRangeFloat.CheckRangeFloat>`) : Interval de vitesse sélectionné (par défaut : `[0, 1]`). - **Confinement** (:class:`CheckRangeFloat <palm_tracer.Settings.Types.CheckRangeFloat.CheckRangeFloat>`) : Interval de confinement sélectionné (par défaut : `[-10, 10]`). """ label: str = "Tracks" setting_list = { "Length": [CheckRangeInt, ["Length", "", [1, 10000], [1, 100000]]], "Instant D": [CheckRangeFloat, ["Instant D", "", [-5, 5], [-10, 10]]], "D Coeff": [CheckRangeFloat, ["D Coeff (μm²/s)", "", [-5, 5], [-10, 10]]], "Alpha": [CheckRangeFloat, ["Alpha (Power)", "", [-10, 10], [-100, 100]]], "Speed": [CheckRangeFloat, ["Speed (µm/s)", "", [0, 1], [0, 100]]], "Confinement": [CheckRangeFloat, ["Confinement (µm)", "", [-10, 10], [-100, 100]]] } ##################################################
[docs] def deactivate_filters(self): """ Désactive tous les filtres.""" for key in self.setting_list: self._settings[key].active = False
################################################## 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 = FilteringT() group.active = True w.layout().addWidget(group.widget) w.show() sys.exit(app.exec_())