From 39aee35a0b492c5dca5908bd4bdd8037612e9c98 Mon Sep 17 00:00:00 2001 From: Egor Sobolev <egor.sobolev@xfel.eu> Date: Wed, 5 Jun 2024 11:31:10 +0200 Subject: [PATCH] Use numpy.split to split frame selection on train masks --- src/exdf/data_reduction/builtins.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/exdf/data_reduction/builtins.py b/src/exdf/data_reduction/builtins.py index b35f485..88400cf 100644 --- a/src/exdf/data_reduction/builtins.py +++ b/src/exdf/data_reduction/builtins.py @@ -344,13 +344,9 @@ class LitFrames(ReductionMethod): train_sel, nfrm, cell_id, [sel_type]) # select frames for every train - i0 = 0 - for i in range(len(train_sel)): - iN = i0 + nfrm[i] - self.select_xtdf(src, - by_id[[train_sel[i]]], - frame_sel[i0:iN]) - i0 = iN + train_masks = np.split(frame_sel, np.cumsum(nfrm)) + for train_id, mask in zip(train_sel, train_masks): + self.select_xtdf(src, by_id[[train_id]], mask) def print_report(self, sel, max_lines=20): report = sel.report() -- GitLab