From 5c298b49498cd86f4eaded6202a354a44179cace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Al=C3=A1n=20Mu=C3=B1oz?= <amuoz@ed.ac.uk> Date: Fri, 15 Oct 2021 13:54:20 +0100 Subject: [PATCH] change names Former-commit-id: 20564313baff9451f0f8f86dc5300f4cfd8ffb3b --- core/processes/aggregate.py | 31 ++++++++++++++++++++----------- core/processes/picker.py | 2 +- core/processor.py | 14 ++++++-------- 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/core/processes/aggregate.py b/core/processes/aggregate.py index 2efff075..cfe8e8f0 100644 --- a/core/processes/aggregate.py +++ b/core/processes/aggregate.py @@ -12,13 +12,13 @@ class aggregateParameters(ParametersABC): reduction: str to be passed to a dataframe for collapsing across columns """ - def __init__(self, reduction): + def __init__(self, reductions): super().__init__() - self.reduction = reduction + self.reductions = reductions @classmethod def default(cls): - return cls.from_dict({"reduction": "mean"}) + return cls.from_dict({"reductions": ["mean", "median", "max"]}) class aggregate(ProcessABC): @@ -31,13 +31,14 @@ class aggregate(ProcessABC): def run(self, signals): names = np.array([signal.index.names for signal in signals]) - if not np.all(names == names[0]): - "Not all indices are the same, selecting smallest set" - index = signals[0].index - for s in signals[0:]: - index = index.intersection(s.index) + index = signals[0].index + for s in signals[0:]: + index = index.intersection(s.index) - signals = [s.loc[index] for s in signals] + tmp_signals = [s.loc[index] for s in signals] + for i, s in enumerate(signals): + tmp_signals[i].name = s.name + signals = tmp_signals assert len(signals), "Signals is empty" @@ -54,9 +55,17 @@ class aggregate(ProcessABC): for ind in item.split("/") if ind not in bad_words ] - colnames = ["_".join(get_keywords(s)) for s in signals] + colnames = [ + "_".join(get_keywords(s) + [red]) + for s in signals + for red in self.parameters.reductions + ] concat = pd.concat( - [getattr(signal, self.parameters.reduction)(axis=1) for signal in signals], + [ + getattr(signal, red)(axis=1) + for signal in signals + for red in self.parameters.reductions + ], names=signals[0].index.names, axis=1, ) diff --git a/core/processes/picker.py b/core/processes/picker.py index 23be1f70..a7221e6f 100644 --- a/core/processes/picker.py +++ b/core/processes/picker.py @@ -10,7 +10,7 @@ from utils_find_1st import find_1st, cmp_equal import numpy as np import pandas as pd -from core.cells import CellsHDF +from pcore.cells import CellsHDF from agora.base import ParametersABC, ProcessABC from postprocessor.core.functions.tracks import max_ntps, max_nonstop_ntps diff --git a/core/processor.py b/core/processor.py index 9e6130f6..81c54b6f 100644 --- a/core/processor.py +++ b/core/processor.py @@ -8,10 +8,10 @@ import pandas as pd from tqdm import tqdm from agora.base import ParametersABC -from core.io.writer import Writer -from core.io.signal import Signal +from pcore.io.writer import Writer +from pcore.io.signal import Signal -from core.cells import Cells +from pcore.cells import Cells from postprocessor.core.processes.merger import mergerParameters, merger from postprocessor.core.processes.picker import pickerParameters, picker @@ -82,15 +82,13 @@ class PostProcessorParameters(ParametersABC): "/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/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", - "postprocessing/dsignal/postprocessing_bud_metric_extraction_em_ratio_bgsub_np_max_median", - "postprocessing/dsignal/postprocessing_bud_metric_extraction_em_ratio_bgsub_np_max_mean", ] ], ), -- GitLab