diff --git a/core/base.py b/core/base.py index cb18bc3939be41ced42b2a2bf42f3723a77fca53..a53cee6d08dbbd289963e40311c6adea0f03ab60 100644 --- a/core/base.py +++ b/core/base.py @@ -34,9 +34,9 @@ class ParametersABC(ABC): class ProcessABC(ABC): "Base class for processes" - @property - def parameters(self): - return self.parameters + def __init__(self, parameters): + for k, v in parameters.to_dict().items(): # access parameters directly + setattr(self, k, v) @abstractmethod def run(self): diff --git a/core/merger.py b/core/merger.py index 7659a6807cb3183ea02852df59f1a979639b7ecc..70f2e43c8b74c15f5bd5f4db68e08d26065cf5e7 100644 --- a/core/merger.py +++ b/core/merger.py @@ -1,4 +1,4 @@ -class Parameters: +class MergerParameters: """ :param tol: float or int threshold of average (prediction error/std) necessary to consider two tracks the same. If float is fraction of first track, diff --git a/core/picker.py b/core/picker.py index 707a499f23b6b4f594fe1754d4970c6e7d6babb4..de13811783cde6b23f34f5c2ac968525c4aabe3f 100644 --- a/core/picker.py +++ b/core/picker.py @@ -6,11 +6,10 @@ import pandas as pd from core.cells import CellsHDF -from postprocessor.core.base import ParametersABC +from postprocessor.core.base import ParametersABC, ProcessABC from postprocessor.core.functions.signals import max_ntps, max_nonstop_ntps -# ParametersABC.register(PickerParameters) class PickerParameters(ParametersABC): def __init__( self, @@ -33,7 +32,7 @@ class PickerParameters(ParametersABC): ) -class Picker: +class Picker(ProcessABC): """ :signals: pd.DataFrame of data used for selection, such as area or GFP/np.max/mean :cells: Cell object passed to the constructor @@ -45,17 +44,15 @@ class Picker: def __init__( self, + parameters: PickerParameters, signals: pd.DataFrame, cells: CellsHDF, - parameters: PickerParameters, ): + super().__init__(parameters=parameters) + self.signals = signals self._index = signals.index self._cells = cells - self.parameters = parameters - - for k, v in parameters.to_dict().items(): # access parameters directly - setattr(self, k, v) @staticmethod def mother_assign_to_mb_matrix(ma: List[np.array]):