diff --git a/src/calng/FrameSelectionArbiter.py b/src/calng/FrameSelectionArbiter.py index 5b7ffed65c2977550da245000827ec811279c8cb..a97158432f5fd5f65247ca2c9bed5a9cc975a814 100644 --- a/src/calng/FrameSelectionArbiter.py +++ b/src/calng/FrameSelectionArbiter.py @@ -397,6 +397,7 @@ class AdvancedFrameSelectionArbiter(BaseFrameSelectionArbiter): except Exception as ex: warn(f"Kernel for {prefix} failed: {ex}") res[selection_name] = np.ones(num_frames, dtype=bool) + out_hash[f"{selection_name}.mask"] = list(map(bool, res[selection_name])) return res def _configure_decision(self, decision_string): @@ -475,6 +476,17 @@ class AdvancedFrameSelectionArbiter(BaseFrameSelectionArbiter): kernel_class.extend_device_schema( schema_update, kernel_prefix ) + ( + NODE_ELEMENT(output_schema_update) + .key(selection_name) + .commit(), + + VECTOR_BOOL_ELEMENT(output_schema_update) + .key(f"{selection_name}.mask") + .assignmentOptional() + .defaultValue([]) + .commit(), + ) kernel_class.extend_output_schema(output_schema_update, selection_name) new_selection_steps[selection_name] = (kernel_class, preselection)