Skip to content

Commit 5248d07

Browse files
committed
add new input to address raveling
1 parent a3b1bc5 commit 5248d07

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

nipype/interfaces/utility/base.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ class MergeInputSpec(DynamicTraitedSpec, BaseInterfaceInputSpec):
101101
desc='direction in which to merge, hstack requires same number of elements in each input')
102102
no_flatten = traits.Bool(False, usedefault=True,
103103
desc='append to outlist instead of extending in vstack mode')
104+
ravel_inputs = traits.Bool(False, usedefault=True,
105+
desc='ravel inputs with no_flatten is False')
104106

105107

106108
class MergeOutputSpec(TraitedSpec):
@@ -141,6 +143,13 @@ class Merge(IOBase):
141143
>>> merge.inputs.in1 = [1, [2, 5], 3]
142144
>>> out = merge.run()
143145
>>> out.outputs.out
146+
[1, [2, 5], 3]
147+
148+
>>> merge = Merge() # Or Merge(1)
149+
>>> merge.inputs.in1 = [1, [2, 5], 3]
150+
>>> merge.inputs.ravel_inputs = True
151+
>>> out = merge.run()
152+
>>> out.outputs.out
144153
[1, 2, 5, 3]
145154
146155
>>> merge = Merge() # Or Merge(1)
@@ -176,7 +185,10 @@ def _list_outputs(self):
176185
if self.inputs.axis == 'vstack':
177186
for value in values:
178187
if isinstance(value, list) and not self.inputs.no_flatten:
179-
out.extend(_ravel(value))
188+
if self.inputs.ravel_inputs:
189+
out.extend(_ravel(value))
190+
else:
191+
out.extend(value)
180192
else:
181193
out.append(value)
182194
else:

0 commit comments

Comments
 (0)