From 0feb0543de35888b079cca71a28704c2e8a97323 Mon Sep 17 00:00:00 2001
From: pswain <peter.swain@ed.ac.uk>
Date: Fri, 6 Oct 2023 17:21:07 +0100
Subject: [PATCH] tidying: deleted phlourin bits from processor

---
 src/aliby/pipeline.py               |  5 ++-
 src/postprocessor/core/abc.py       |  4 +--
 src/postprocessor/core/processor.py | 56 +++++++----------------------
 3 files changed, 18 insertions(+), 47 deletions(-)

diff --git a/src/aliby/pipeline.py b/src/aliby/pipeline.py
index d80f441c..f373702c 100644
--- a/src/aliby/pipeline.py
+++ b/src/aliby/pipeline.py
@@ -324,6 +324,9 @@ class Pipeline(ProcessABC):
                 directory.mkdir(parents=True)
             # download logs to use for metadata
             conn.cache_logs(directory)
+        print("Positions available:")
+        for i, pos in enumerate(position_ids.keys()):
+            print("\t" + f"{i}: " + pos.split(".")[0])
         # update configuration
         self.parameters.general["directory"] = str(directory)
         config["general"]["directory"] = directory
@@ -341,7 +344,7 @@ class Pipeline(ProcessABC):
         if not len(position_ids):
             raise Exception("No images to segment.")
         else:
-            print("Positions:")
+            print("\nPositions selected:")
             for pos in position_ids:
                 print("\t" + pos.split(".")[0])
         # create and run pipelines
diff --git a/src/postprocessor/core/abc.py b/src/postprocessor/core/abc.py
index addeb031..73cf1089 100644
--- a/src/postprocessor/core/abc.py
+++ b/src/postprocessor/core/abc.py
@@ -46,18 +46,16 @@ def get_process(process, suffix="") -> PostProcessABC or ParametersABC or None:
         _to_snake_case(process),
         _to_pascal_case(_to_snake_case(process)),
     )
-
     found = None
     for possible_location, process_syntax in product(
         possible_locations, valid_syntaxes
     ):
-
         location = f"{base_location}.{possible_location}.{_to_snake_case(process)}.{process_syntax}{suffix}"
+        # instantiate class but not a class object
         found = locate(location)
         if found is not None:
             break
     else:
-
         raise Exception(
             f"{process} not found in locations {possible_locations} at {base_location}"
         )
diff --git a/src/postprocessor/core/processor.py b/src/postprocessor/core/processor.py
index 6bf1372c..008b6ebf 100644
--- a/src/postprocessor/core/processor.py
+++ b/src/postprocessor/core/processor.py
@@ -72,14 +72,7 @@ class PostProcessorParameters(ParametersABC):
             },
             "processes": [
                 ["buddings", ["/extraction/general/None/volume"]],
-                # ["dsignal", ["/extraction/general/None/volume"]],
                 ["bud_metric", ["/extraction/general/None/volume"]],
-                # [
-                #     "dsignal",
-                #     [
-                #         "/postprocessing/bud_metric/extraction_general_None_volume"
-                #     ],
-                # ],
             ],
         }
         param_sets = {
@@ -89,29 +82,6 @@ class PostProcessorParameters(ParametersABC):
             }
         }
         outpaths = {}
-        outpaths["aggregate"] = "/postprocessing/experiment_wide/aggregated/"
-        # pHlourin experiments are special
-        if "ph_batman" in kind:
-            targets["processes"]["dsignal"].append(
-                [
-                    "/extraction/em_ratio/np_max/mean",
-                    "/extraction/em_ratio/np_max/median",
-                    "/extraction/em_ratio_bgsub/np_max/mean",
-                    "/extraction/em_ratio_bgsub/np_max/median",
-                ]
-            )
-            targets["processes"]["aggregate"].append(
-                [
-                    [
-                        "/extraction/em_ratio/np_max/mean",
-                        "/extraction/em_ratio/np_max/median",
-                        "/extraction/em_ratio_bgsub/np_max/mean",
-                        "/extraction/em_ratio_bgsub/np_max/median",
-                        "/extraction/gsum/np_max/median",
-                        "/extraction/gsum/np_max/mean",
-                    ]
-                ],
-            )
         return cls(targets=targets, param_sets=param_sets, outpaths=outpaths)
 
 
@@ -128,9 +98,9 @@ class PostProcessor(ProcessABC):
             An instance of PostProcessorParameters.
         """
         super().__init__(parameters)
-        self._filename = filename
-        self._signal = Signal(filename)
-        self._writer = Writer(filename)
+        self.filename = filename
+        self.signal = Signal(filename)
+        self.writer = Writer(filename)
         # parameters for merger and picker
         dicted_params = {
             i: parameters["param_sets"]["prepost"][i]
@@ -167,7 +137,7 @@ class PostProcessor(ProcessABC):
         Necessary before any processes can run.
         """
         # run merger
-        record = self._signal.get_raw(self.targets["prepost"]["merger"])
+        record = self.signal.get_raw(self.targets["prepost"]["merger"])
         merges = self.merger.run(record)
         # get lineages from picker
         lineage = _assoc_indices_to_3d(self.picker.cells.mothers_daughters)
@@ -178,18 +148,18 @@ class PostProcessor(ProcessABC):
             new_lineage = lineage
             new_merges = merges
         self.lineage = _3d_index_to_2d(new_lineage)
-        self._writer.write(
+        self.writer.write(
             "modifiers/merges", data=[np.array(x) for x in new_merges]
         )
-        self._writer.write(
+        self.writer.write(
             "modifiers/lineage_merged", _3d_index_to_2d(new_lineage)
         )
         # run picker
         picked_indices = self.picker.run(
-            self._signal[self.targets["prepost"]["picker"][0]]
+            self.signal[self.targets["prepost"]["picker"][0]]
         )
         if picked_indices.any():
-            self._writer.write(
+            self.writer.write(
                 "modifiers/picks",
                 data=pd.MultiIndex.from_arrays(
                     picked_indices.T, names=["trap", "cell_label"]
@@ -213,9 +183,9 @@ class PostProcessor(ProcessABC):
                     self.parameters[process]
                 )
             else:
-                # assign parameters
+                # assign default parameters
                 parameters = self.parameters_classfun[process].default()
-            # load process
+            # load process - instantiate an object in the class
             loaded_process = self.classfun[process](parameters)
             if isinstance(parameters, LineageProcessParameters):
                 loaded_process.lineage = self.lineage
@@ -227,9 +197,9 @@ class PostProcessor(ProcessABC):
         """Run process to obtain a single dataset and write the result."""
         # get pre-processed data
         if isinstance(dataset, list):
-            signal = [self._signal[d] for d in dataset]
+            signal = [self.signal[d] for d in dataset]
         elif isinstance(dataset, str):
-            signal = self._signal[dataset]
+            signal = self.signal[dataset]
         else:
             raise ("Incorrect dataset")
         # run process on signal
@@ -292,7 +262,7 @@ class PostProcessor(ProcessABC):
         result: t.Union[t.List, pd.DataFrame, np.ndarray],
         metadata: t.Dict,
     ):
-        self._writer.write(path, result, meta=metadata, overwrite="overwrite")
+        self.writer.write(path, result, meta=metadata, overwrite="overwrite")
 
     @staticmethod
     def pick_mother(a, b):
-- 
GitLab