From 61b8b3fd66e9b3997fd73007541c9a2d8166a764 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Al=C3=A1n=20Mu=C3=B1oz?= <amuoz@ed.ac.uk>
Date: Tue, 26 Oct 2021 12:04:58 +0100
Subject: [PATCH] split defaults

Former-commit-id: 9c1cbead82364f4e25b85aa0d277a78b0b5c06bc
---
 core/processor.py | 128 +++++++++++++++++++++++++++-------------------
 1 file changed, 75 insertions(+), 53 deletions(-)

diff --git a/core/processor.py b/core/processor.py
index 38ebd6ad..70d473bd 100644
--- a/core/processor.py
+++ b/core/processor.py
@@ -40,69 +40,91 @@ class PostProcessorParameters(ParametersABC):
     def __getitem__(self, item):
         return getattr(self, item)
 
+    @staticmethod
+    def find_in_1st(string, lol):
+        pass
+
     @classmethod
-    def default(cls, kind=None):
-        if kind == "defaults" or kind == None:
-            return cls(
-                targets={
-                    "prepost": {
-                        "merger": "/extraction/general/None/area",
-                        "picker": ["/extraction/general/None/area"],
-                    },
-                    "processes": [
-                        [
-                            "bud_metric",
-                            [
-                                "/extraction/general/None/volume",
-                                "/extraction/em_ratio/np_max/mean",
-                                "/extraction/em_ratio/np_max/median",
-                            ],
-                        ],
+    def default(cls, kind=[]):
+        targets = {
+            "prepost": {
+                "merger": "/extraction/general/None/area",
+                "picker": ["/extraction/general/None/area"],
+            },
+            "processes": [
+                [
+                    "bud_metric",
+                    [
+                        "/extraction/general/None/volume",
+                    ],
+                ],
+                [
+                    "dsignal",
+                    [
+                        "/extraction/general/None/volume",
+                    ],
+                ],
+            ],
+        }
+        parameters = {
+            "prepost": {
+                "merger": mergerParameters.default(),
+                "picker": pickerParameters.default(),
+            }
+        }
+        outpaths = {}
+
+        if "ph_batman" in kind:
+            targets["processes"]["bud_metric"].append(
+                [
+                    [
+                        "/extraction/general/None/volume",
+                        "/extraction/em_ratio/np_max/mean",
+                        "/extraction/em_ratio/np_max/median",
+                    ],
+                ]
+            )
+            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",
+                    "/postprocessing/bud_metric/extraction_general_None_volume",
+                    "/postprocessing/bud_metric/extraction_em_ratio_np_max_mean",
+                    "/postprocessing/bud_metric/extraction_em_ratio_np_max_median",
+                ]
+            )
+            targets["processes"].append(
+                [
+                    [
+                        "aggregate",
                         [
-                            "dsignal",
                             [
                                 "/extraction/general/None/volume",
                                 "/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",
-                                "/postprocessing/bud_metric/extraction_general_None_volume",
-                                "/postprocessing/bud_metric/extraction_em_ratio_np_max_mean",
-                                "/postprocessing/bud_metric/extraction_em_ratio_np_max_median",
-                            ],
-                        ],
-                        [
-                            "aggregate",
-                            [
-                                [
-                                    "/extraction/general/None/volume",
-                                    "/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",
-                                    "postprocessing/bud_metric/extraction_general_None_volume",
-                                    "postprocessing/bud_metric/extraction_em_ratio_np_max_mean",
-                                    "postprocessing/bud_metric/extraction_em_ratio_np_max_median",
-                                    "postprocessing/dsignal/extraction_general_None_volume",
-                                    "postprocessing/dsignal/postprocessing_bud_metric_extraction_general_None_volume",
-                                    "postprocessing/dsignal/postprocessing_bud_metric_extraction_em_ratio_np_max_median",
-                                    "postprocessing/dsignal/postprocessing_bud_metric_extraction_em_ratio_np_max_mean",
-                                ]
-                            ],
+                                "/extraction/gsum/np_max/median",
+                                "/extraction/gsum/np_max/mean",
+                                "postprocessing/bud_metric/extraction_general_None_volume",
+                                "postprocessing/bud_metric/extraction_em_ratio_np_max_mean",
+                                "postprocessing/bud_metric/extraction_em_ratio_np_max_median",
+                                "postprocessing/dsignal/extraction_general_None_volume",
+                                "postprocessing/dsignal/postprocessing_bud_metric_extraction_general_None_volume",
+                                "postprocessing/dsignal/postprocessing_bud_metric_extraction_em_ratio_np_max_median",
+                                "postprocessing/dsignal/postprocessing_bud_metric_extraction_em_ratio_np_max_mean",
+                            ]
                         ],
-                        # "savgol": ["/extraction/general/None/area"],
-                    ],
-                },
-                parameters={
-                    "prepost": {
-                        "merger": mergerParameters.default().to_dict(),
-                        "picker": pickerParameters.default().to_dict(),
-                    }
-                },
-                outpaths={"aggregate": "/postprocessing/experiment_wide/aggregated/"},
+                    ]
+                ]
             )
+            outpaths["aggregate"].append(
+                ["/postprocessing/experiment_wide/aggregated/"]
+            )
+
+        return cls(targets=targets, parameters=parameters, outpaths=outpaths)
 
     def to_dict(self):
         return {k: _if_dict(v) for k, v in self.__dict__.items()}
-- 
GitLab