#spm.Normalize12().input_spec.gm_output_type = [True, False, False] # Should be modulated normalised # Smooth smooth = Node(interface=spm.Smooth(), name="smooth") fwhmlist = [8] smooth.iterables = ( 'fwhm', fwhmlist ) # Iterables seem to follow the convention of variable.input[key] = value of the iterable. # ## Set up the file management through ds to be able to wipe out unnecessary files? # - There are all sorts of files labelled under the type of processing that produced them in each subject's folder, so I am unclear why this is a useful management step. It simply adds a "ds" folder next to the processing folders. # Collect key output files in a useful place ds = Node(interface=DataSink(), name="ds") ds.inputs.base_directory = op.abspath(output_dir) ds.substitutions = [('_subj_id', ''), ('_task', ''), ('_t1_', '')] # ## Connect the nodes. # #### Tip 4: Think of the connections like the "dependency" fields in SPM's batch editor. # TODO Add first-level estimations preproc_wf.connect([ (infosource, sf, [('subj_id', 'subj_id'), ('task', 'task'), ('t1', 't1'), ('timept', 'timept')]), (infosource, ds, [('subj_id', 'container')]), (sf, realign, [('func', 'in_files')]), (realign, ds, [('realignment_parameters', 'motion.@param')]), (sf, coreg, [('struct', 'target')]), ( realign, coreg, [('mean_image', 'source'),