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