diff --git a/docs/changes/newsfragments/487.bugfix b/docs/changes/newsfragments/487.bugfix new file mode 100644 index 000000000..cbfe8addf --- /dev/null +++ b/docs/changes/newsfragments/487.bugfix @@ -0,0 +1 @@ +Fix mask specification check involving dicts in `:class:`junifer.data.MaskRegistry` when working in native space by `Synchon Mandal`_ diff --git a/junifer/data/masks/_masks.py b/junifer/data/masks/_masks.py index 0274c2a1a..c163d1cfa 100644 --- a/junifer/data/masks/_masks.py +++ b/junifer/data/masks/_masks.py @@ -481,16 +481,22 @@ class MaskRegistry(BasePipelineDataRegistry): # Extra data type requirement check if target space is native if target_space == "native": + # Fix for having dict in masks; flatten the dict keys for set + # conversion + ms = [ + next(iter(x.keys())) if isinstance(x, dict) else x + for x in masks + ] # Check for in-built callable masks so that get_native_warper is # not called in case only callable masks are used if ( - set(masks) == {nilearn_callable_masks[0]} - or set(masks) == {nilearn_callable_masks[1]} - or set(masks) == set(nilearn_callable_masks) + set(ms) == {nilearn_callable_masks[0]} + or set(ms) == {nilearn_callable_masks[1]} + or set(ms) == set(nilearn_callable_masks) ): logger.debug( "Target space is native. " - f"No warping will be done for: {masks}" + f"No warping will be done for: {ms}" ) else: # Check for extra inputs