Skip to content

Commit 5eeb072

Browse files
author
Gaunab
committed
add loading of saved layouts to BidsGrabber
1 parent ee50279 commit 5eeb072

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

nipype/interfaces/io.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2866,6 +2866,7 @@ class BIDSDataGrabberInputSpec(DynamicTraitedSpec):
28662866
output_query = traits.Dict(
28672867
key_trait=Str, value_trait=traits.Dict, desc="Queries for outfield outputs"
28682868
)
2869+
load_layout = Directory(exists=True, desc="Path to load already saved Bidslayout.", mandatory=False)
28692870
raise_on_empty = traits.Bool(
28702871
True,
28712872
usedefault=True,
@@ -2965,9 +2966,13 @@ def __init__(self, infields=None, **kwargs):
29652966
def _list_outputs(self):
29662967
from bids import BIDSLayout
29672968

2968-
layout = BIDSLayout(
2969-
self.inputs.base_dir, derivatives=self.inputs.index_derivatives
2970-
)
2969+
# if load_layout is given load layout which is on some datasets much faster
2970+
if isdefined(self.inputs.load_layout):
2971+
layout = BIDSLayout.load(self.inputs.load_layout)
2972+
else:
2973+
layout = BIDSLayout(
2974+
self.inputs.base_dir, derivatives=self.inputs.index_derivatives
2975+
)
29712976

29722977
if isdefined(self.inputs.extra_derivatives):
29732978
layout.add_derivatives(self.inputs.extra_derivatives)

0 commit comments

Comments
 (0)