From bb969b30dc9ff13739907ce56c4bad314a045252 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Al=C3=A1n=20Mu=C3=B1oz?= <amuoz@ed.ac.uk>
Date: Wed, 16 Jun 2021 17:20:05 +0100
Subject: [PATCH] QOL improvements

Former-commit-id: 4e4839ea3e8b469b60ea9c371082eb7ec8bf24d5
---
 core/base.py   |  6 +++---
 core/merger.py |  2 +-
 core/picker.py | 13 +++++--------
 3 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/core/base.py b/core/base.py
index cb18bc39..a53cee6d 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 7659a680..70f2e43c 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 707a499f..de138117 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]):
-- 
GitLab