Skip to content
Snippets Groups Projects
Commit b12c2993 authored by Alán Muñoz's avatar Alán Muñoz
Browse files

add multisignal prefixing

Former-commit-id: f281c871f4219d00f03a7476755e642f108b69bb
parent ca7159a1
No related branches found
No related tags found
No related merge requests found
...@@ -67,9 +67,8 @@ class PostProcessor: ...@@ -67,9 +67,8 @@ class PostProcessor:
@staticmethod @staticmethod
def get_process(process): def get_process(process):
""" """
Get process from folder ./processes Dynamically import a process class from the 'processes' folder.
""" """
print(__file__)
return locate("postprocessor.core.processes." + process + "." + process) return locate("postprocessor.core.processes." + process + "." + process)
def run(self): def run(self):
...@@ -77,12 +76,30 @@ class PostProcessor: ...@@ -77,12 +76,30 @@ class PostProcessor:
for name, ids in new_ids.items(): for name, ids in new_ids.items():
self._writer.write(ids, "/postprocessing/cell_info/" + name) self._writer.write(ids, "/postprocessing/cell_info/" + name)
picks = self.picker.run(self._signal[self.processes["picker"][0]]) picks = self.picker.run(self._signal[self.processes["picker"][0]])
return picks for process, datasets in self.processes.values():
# for process, dataset, outpath in zip( for dataset in datasets:
# self.processes, self.datasets["processes"], self.outpaths if isinstance(dataset, list): # multisignal process
# ): result = self.processes["process"].run(
# processed_result = process.run(self._signals.get_dataset(dataset)) [self._signal[d] for d in dataset]
# self.writer.write(processed_result, dataset, outpath) )
prefix = "".join(
prefix + c[0]
for c in takewhile(
lambda x: all(x[0] == y for y in x), zip(*dataset)
)
)
outpath = (
prefix
+ "_".join( # TODO check that it always finishes in '/'
[d[len(prefix) :].replace("/", "_") for d in dataset]
)
)
elif isinstance(dataset, str):
result = self.processes["process"].run(self._signal[dataset])
outpath = dataset[1:].replace("/", "_")
else:
raise ("Not appropiate dataset")
self.writer.write(result, "/postprocessing/" + process + "/" + outpath)
def _if_dict(item): def _if_dict(item):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment