Skip to content

Commit 6e32e6b

Browse files
author
dmordom
committed
added mapnode argument to allow enforce serial execution
1 parent e815741 commit 6e32e6b

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

nipype/pipeline/engine.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1995,7 +1995,7 @@ class MapNode(Node):
19951995
19961996
"""
19971997

1998-
def __init__(self, interface, iterfield, name, **kwargs):
1998+
def __init__(self, interface, iterfield, name, serial=False, **kwargs):
19991999
"""
20002000
20012001
Parameters
@@ -2012,6 +2012,8 @@ def __init__(self, interface, iterfield, name, **kwargs):
20122012
20132013
See Node docstring for additional keyword arguments.
20142014
"""
2015+
2016+
20152017
super(MapNode, self).__init__(interface, name, **kwargs)
20162018
if isinstance(iterfield, str):
20172019
iterfield = [iterfield]
@@ -2020,6 +2022,8 @@ def __init__(self, interface, iterfield, name, **kwargs):
20202022
fields=self.iterfield)
20212023
self._inputs.on_trait_change(self._set_mapnode_input)
20222024
self._got_inputs = False
2025+
2026+
self._serial = serial
20232027

20242028
def _create_dynamic_traits(self, basetraits, fields=None, nitems=None):
20252029
"""Convert specific fields of a trait to accept multiple inputs
@@ -2210,7 +2214,10 @@ def num_subnodes(self):
22102214
self._get_inputs()
22112215
self._got_inputs = True
22122216
self._check_iterfield()
2213-
return len(filename_to_list(getattr(self.inputs, self.iterfield[0])))
2217+
if self._serial :
2218+
return 1
2219+
else:
2220+
return len(filename_to_list(getattr(self.inputs, self.iterfield[0])))
22142221

22152222
def _get_inputs(self):
22162223
old_inputs = self._inputs.get()

0 commit comments

Comments
 (0)