Skip to content

BF: handle empty BrainModelAxis masks and selections - #1556

Open
natesute wants to merge 1 commit into
nipy:masterfrom
natesute:fix/empty-brain-model
Open

natesute wants to merge 1 commit into
nipy:masterfrom
natesute:fix/empty-brain-model

Conversation

@natesute

Copy link
Copy Markdown

Fixes #1555.

An all-false mask or a selection that removes every greyordinate cannot currently produce a BrainModelAxis: its surface/volume mask properties call np.vectorize without an output type, which raises on empty input.

Specify the boolean output type for both mask properties and let iter_structures finish without indexing the first element when the axis is empty. Tests cover surface and volume masks, an empty slice, an all-false selection, and concatenating the empty result with a non-empty axis.

Validation: all four new cases fail on the base. The CIFTI-2 suite passes 114 tests with 16 optional-data skips and one expected failure. Ruff 0.15.15 lint and formatting pass for both changed files.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Empty BrainModelAxis selections fail in mask vectorization

1 participant