@@ -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
111114class 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