Skip to content

Commit a3f5115

Browse files
authored
Merge pull request #2861 from hstojic/patch-SPM-Level1Design
ENH: Add flags dictionary input to spm.Level1Design
2 parents efb4645 + 1f9f106 commit a3f5115

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

Diff for: nipype/interfaces/spm/model.py

+9-1
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@ class Level1DesignInputSpec(SPMCommandInputSpec):
106106
desc=('Model serial correlations '
107107
'AR(1), FAST or none. FAST '
108108
'is available in SPM12'))
109+
flags = traits.Dict(
110+
desc='Additional arguments to the job, e.g., a common SPM operation is to '
111+
'modify the default masking threshold (mthresh)')
109112

110113

111114
class Level1DesignOutputSpec(TraitedSpec):
@@ -125,6 +128,7 @@ class Level1Design(SPMCommand):
125128
>>> level1design.inputs.interscan_interval = 2.5
126129
>>> level1design.inputs.bases = {'hrf':{'derivs': [0,0]}}
127130
>>> level1design.inputs.session_info = 'session_info.npz'
131+
>>> level1design.inputs.flags = {'mthresh': 0.4}
128132
>>> level1design.run() # doctest: +SKIP
129133
130134
"""
@@ -151,7 +155,11 @@ def _parse_inputs(self):
151155
"""validate spm realign options if set to None ignore
152156
"""
153157
einputs = super(Level1Design,
154-
self)._parse_inputs(skip=('mask_threshold'))
158+
self)._parse_inputs(skip=('mask_threshold', 'flags'))
159+
if isdefined(self.inputs.flags):
160+
einputs[0].update(
161+
{flag: val
162+
for (flag, val) in self.inputs.flags.items()})
155163
for sessinfo in einputs[0]['sess']:
156164
sessinfo['scans'] = scans_for_fnames(
157165
ensure_list(sessinfo['scans']), keep4d=False)

0 commit comments

Comments
 (0)