@@ -106,6 +106,7 @@ class Level1DesignInputSpec(SPMCommandInputSpec):
106106 desc = ('Model serial correlations '
107107 'AR(1), FAST or none. FAST '
108108 'is available in SPM12' ))
109+ flags = traits .Dict (desc = 'Additional arguments to the job, e.g. a common SPm operation is to modify the default masking threshold (mthresh)' )
109110
110111
111112class Level1DesignOutputSpec (TraitedSpec ):
@@ -125,6 +126,7 @@ class Level1Design(SPMCommand):
125126 >>> level1design.inputs.interscan_interval = 2.5
126127 >>> level1design.inputs.bases = {'hrf':{'derivs': [0,0]}}
127128 >>> level1design.inputs.session_info = 'session_info.npz'
129+ >>> level1design.inputs.flags = {'mthresh': 0.4}
128130 >>> level1design.run() # doctest: +SKIP
129131
130132 """
@@ -151,7 +153,11 @@ def _parse_inputs(self):
151153 """validate spm realign options if set to None ignore
152154 """
153155 einputs = super (Level1Design ,
154- self )._parse_inputs (skip = ('mask_threshold' ))
156+ self )._parse_inputs (skip = ('mask_threshold' , 'flags' ))
157+ if isdefined (self .inputs .flags ):
158+ einputs [0 ].update (
159+ {flag : val
160+ for (flag , val ) in self .inputs .flags .items ()})
155161 for sessinfo in einputs [0 ]['sess' ]:
156162 sessinfo ['scans' ] = scans_for_fnames (
157163 ensure_list (sessinfo ['scans' ]), keep4d = False )
0 commit comments