@@ -106,6 +106,9 @@ class Level1DesignInputSpec(SPMCommandInputSpec):
106
106
desc = ('Model serial correlations '
107
107
'AR(1), FAST or none. FAST '
108
108
'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)' )
109
112
110
113
111
114
class Level1DesignOutputSpec (TraitedSpec ):
@@ -125,6 +128,7 @@ class Level1Design(SPMCommand):
125
128
>>> level1design.inputs.interscan_interval = 2.5
126
129
>>> level1design.inputs.bases = {'hrf':{'derivs': [0,0]}}
127
130
>>> level1design.inputs.session_info = 'session_info.npz'
131
+ >>> level1design.inputs.flags = {'mthresh': 0.4}
128
132
>>> level1design.run() # doctest: +SKIP
129
133
130
134
"""
@@ -151,7 +155,11 @@ def _parse_inputs(self):
151
155
"""validate spm realign options if set to None ignore
152
156
"""
153
157
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 ()})
155
163
for sessinfo in einputs [0 ]['sess' ]:
156
164
sessinfo ['scans' ] = scans_for_fnames (
157
165
ensure_list (sessinfo ['scans' ]), keep4d = False )
0 commit comments