diff --git a/src/agora/io/signal.py b/src/agora/io/signal.py index 4193178abb71a2ca81d03c7435725ef28ef2fc57..ea407f1b88cbcab220dfe37f75be7afc5a3b3946 100644 --- a/src/agora/io/signal.py +++ b/src/agora/io/signal.py @@ -38,33 +38,19 @@ class Signal(BridgeH5): ) self.candidate_channels = global_parameters.possible_imaging_channels - def __getitem__(self, dsets: t.Union[str, t.Collection]): - """Get and potentially pre-process data from h5 file and return as a data frame.""" - if isinstance(dsets, str): - return self.get(dsets) - elif isinstance(dsets, list): - is_bgd = [dset.endswith("imBackground") for dset in dsets] - # Check we are not comparing tile-indexed and cell-indexed data - assert sum(is_bgd) == 0 or sum(is_bgd) == len( - dsets - ), "Tile data and cell data cannot be mixed." - return [self.get(dset) for dset in dsets] - else: - raise Exception(f"Invalid type {type(dsets)} to get datasets") - def get( self, - dset_name: t.Union[str, t.Collection], + dset: t.Union[str, t.Collection], tmax_in_mins: int = None, ): """Get Signal after merging and picking.""" - if isinstance(dset_name, str): - dsets = self.get_raw(dset_name, tmax_in_mins=tmax_in_mins) - if dsets is not None: - picked_merged = self.apply_merging_picking(dsets) - return self.add_name(picked_merged, dset_name) - else: - return None + if isinstance(dset, str): + record = self.get_raw(dset, tmax_in_mins=tmax_in_mins) + if record is not None: + picked_merged = self.apply_merging_picking(record) + return self.add_name(picked_merged, dset) + elif isinstance(dset, list): + return [self.get(d) for d in dset] else: raise Exception("Error in Signal.get") diff --git a/src/postprocessor/core/postprocessing.py b/src/postprocessor/core/postprocessing.py index f7e0811aa45bf0ad6c9f30d56965ca2058ce12cc..dd61ea44c0eb2b292013d31fdc8f4412a715dfe6 100644 --- a/src/postprocessor/core/postprocessing.py +++ b/src/postprocessor/core/postprocessing.py @@ -144,7 +144,7 @@ class PostProcessor(ProcessABC): # run picker picked_indices = np.array( self.picker.run( - self.signal[self.targets["merging_picking"]["picker"]] + self.signal.get(self.targets["merging_picking"]["picker"]) ) ) if picked_indices.any(): @@ -186,9 +186,9 @@ class PostProcessor(ProcessABC): """Run processes to obtain single data sets and write the results.""" # get pre-processed data if isinstance(dataset, list): - signal = [self.signal[d] for d in dataset] + signal = [self.signal.get(d) for d in dataset] elif isinstance(dataset, str): - signal = self.signal[dataset] + signal = self.signal.get(dataset) else: raise ("Incorrect dataset") # run process on signal diff --git a/src/postprocessor/core/reshapers/bud_metric.py b/src/postprocessor/core/reshapers/bud_metric.py index bad8e4e96168d029eb539d81a052cc740098474a..803b126f99beef6d700911d46c6184141970f0f9 100644 --- a/src/postprocessor/core/reshapers/bud_metric.py +++ b/src/postprocessor/core/reshapers/bud_metric.py @@ -19,7 +19,7 @@ class BudMetricParameters(LineageProcessParameters): class BudMetric(LineageProcess): """ - Create a dataframe with indices mother IDs and values from buds. + Create a data frame with indices mother IDs and values from buds. Requires mother-bud information. """