From db1193e76db1546160e88859719b8844e57994e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Al=C3=A1n=20Mu=C3=B1oz?= <amuoz@ed.ac.uk> Date: Wed, 14 Jul 2021 14:15:01 +0100 Subject: [PATCH] fix signals Former-commit-id: 1350a0a00f92c081caeecc264a1be046c470e83f --- core/io/base.py | 1 + core/io/signal.py | 12 ++++++++---- core/processor.py | 2 +- examples/basic_processes.py | 8 ++++++++ examples/signals.py | 2 +- 5 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 examples/basic_processes.py diff --git a/core/io/base.py b/core/io/base.py index 6812bd53..a05aa035 100644 --- a/core/io/base.py +++ b/core/io/base.py @@ -13,6 +13,7 @@ class BridgeH5: """ def __init__(self, file): + self.filename = file self._hdf = h5py.File(file, "r") self._filecheck() diff --git a/core/io/signal.py b/core/io/signal.py index 5ae9e505..da5f73f9 100644 --- a/core/io/signal.py +++ b/core/io/signal.py @@ -10,12 +10,16 @@ class Signal(BridgeH5): def __init__(self, file): super().__init__(file) - self._hdf.close() # Close the file to use pandas hdf functions - # hdf = pd.HDFStore(file) - # self.file = file def __getitem__(self, dataset): - return pd.read_hdf(self.file, dataset) + dset = self._hdf[dataset] + index = pd.MultiIndex.from_arrays( + [dset[lbl][()] for lbl in dset.keys() if "axis1_label" in lbl] + ) + + columns = dset["axis0"][()] + + return pd.DataFrame(dset[("block0_values")][()], index=index, columns=columns) @staticmethod def _if_ext_or_post(name): diff --git a/core/processor.py b/core/processor.py index be751b09..eeb3cf9a 100644 --- a/core/processor.py +++ b/core/processor.py @@ -10,7 +10,7 @@ from postprocessor.core.io.signal import Signal from core.cells import Cells -class PostProParameters(ParametersABC): +class PostProcessorParameters(ParametersABC): """ Anthology of parameters used for postprocessing :merger: diff --git a/examples/basic_processes.py b/examples/basic_processes.py new file mode 100644 index 00000000..8dd85d5f --- /dev/null +++ b/examples/basic_processes.py @@ -0,0 +1,8 @@ +from postprocessor.core.processor import PostProcessor, PostProcessorParameters + +params = PostProcessorParameters.default() +pp = PostProcessor( + "/shared_libs/pipeline-core/scripts/data/ph_calibration_dual_phl_ura8_5_04_5_83_7_69_7_13_6_59__01/ph_5_04_005store.h5", + params, +) +tmp = pp.run() diff --git a/examples/signals.py b/examples/signals.py index 2008c8fd..98bdc941 100644 --- a/examples/signals.py +++ b/examples/signals.py @@ -1,4 +1,4 @@ -from postprocessor.core.io.signals import Signal +from postprocessor.core.io.signal import Signal signal = Signal( "/shared_libs/pipeline-core/scripts/data/ph_calibration_dual_phl_ura8_5_04_5_83_7_69_7_13_6_59__01/ph_5_04_001store.h5" -- GitLab