diff --git a/src/calng/FrameSelectionArbiter.py b/src/calng/FrameSelectionArbiter.py index 079252af21b271016b763c10121afda1f3586b98..7522981f89836b08cba2c39e78911f76a42a7ca6 100644 --- a/src/calng/FrameSelectionArbiter.py +++ b/src/calng/FrameSelectionArbiter.py @@ -402,6 +402,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): @@ -480,6 +481,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)