diff --git a/core/functions/tracks.py b/core/functions/tracks.py index b1c06b70c2694ded94796d082f9c34ef4fbb7c66..928fc2b177c63857d0ff4149771b5f04b581478c 100644 --- a/core/functions/tracks.py +++ b/core/functions/tracks.py @@ -313,7 +313,7 @@ def get_closest_pairs(pre: List[float], post: List[float], tol: Union[float, int result = dMetric[ids] / norm ids = ids if len(pre) < len(post) else ids[::-1] - return [idx for idx, res in zip(zip(*ids), result) if res < tol] + return [idx for idx, res in zip(zip(*ids), result) if res <= tol] def solve_matrix(dMetric): diff --git a/core/processes/merger.py b/core/processes/merger.py index 51a2e0a49aefade6c344eb0929d9fa7abedf6a18..1fa07b9191f7d2e0b2370c54b0364581b00b8de4 100644 --- a/core/processes/merger.py +++ b/core/processes/merger.py @@ -45,7 +45,7 @@ class mergerParameters(ParametersABC): class merger(ProcessABC): """ - TODO Integrate functions/tracks.py inside this class? + TODO check why it needs to be run a few times to complete the merging """ def __init__(self, parameters): diff --git a/core/processes/picker.py b/core/processes/picker.py index ca441e4d4c6e0056af247c1ff9200262131f55af..2c057df93afd40a1a109f2866191e8d2c0451a02 100644 --- a/core/processes/picker.py +++ b/core/processes/picker.py @@ -116,5 +116,5 @@ class picker(ProcessABC): def _as_int(threshold: Union[float, int], ntps: int): if type(threshold) is float: - threshold = threshold / ntps + threshold = ntps * threshold return threshold diff --git a/core/processor.py b/core/processor.py index 516f4c1ec4f0312170688180723c03fb001c35cb..e5eb499525991fcb7d8aed774a08472400e37176 100644 --- a/core/processor.py +++ b/core/processor.py @@ -112,18 +112,13 @@ class PostProcessor: merge_events = self.merger.run(self._signal[self.targets["prepost"]["merger"]]) with h5py.File(self._filename, "r") as f: - prev_idchanges = self._signal.get_id_changes() - - changes_history = prev_idchanges + [merge_events] # + [picks] - self._writer.write("/id_changes", data=changes_history) - # self._writer.write( - # "/postprocessing/merge_events/", - # data=merge_events, - # meta={"source": "/cell_info/"}, - # ) - # changes_history += picks - # picks = self.picker.run(self._signal[self.targets["prepost"]["picker"][0]]) - # self._writer.write() + prev_idchanges = self._signal.get_merges() + + changes_history = list(prev_idchanges) + [np.array(x) for x in merge_events] + self._writer.write("modifiers/merges", data=changes_history) + + picks = self.picker.run(self._signal[self.targets["prepost"]["picker"][0]]) + self._writer.write("modifiers/picks", data=picks) def run(self): self.run_prepost()