# Normally something like: # subjects_dir = os.environ["SUBJECTS_DIR"] subject_list = ['TMS007'] infosource = pe.Node(interface=util.IdentityInterface( fields=['subject_id', 'subjects_dir']), name="infosource") infosource.iterables = ('subject_id', subject_list) infosource.inputs.subjects_dir = subjects_dir datasink = pe.Node(interface=nio.DataSink(), name="datasink") datasink.inputs.base_directory = op.abspath('structural_datasink') datasink.inputs.container = 'subject' preproc = create_structural_mesh_workflow() struct_proc = pe.Workflow(name="struct_proc") struct_proc.base_dir = op.abspath('struct_proc') struct_proc.connect([ (infosource,preproc,[('subject_id', 'inputnode.subject_id')]), (infosource,preproc,[('subjects_dir', 'inputnode.subjects_dir')]), ]) struct_proc.connect([ (preproc,datasink,[('outputnode.volumes', 'volumes')]), (preproc,datasink,[('outputnode.surfaces', 'surfaces')]), (preproc,datasink,[('outputnode.volume_mesh', 'volume_mesh')]), (preproc,datasink,[('outputnode.t1_fsl_space', 't1_fsl_space')]), ])
datasource.inputs.template = "%s/%s" datasource.inputs.base_directory = data_path datasource.inputs.field_template = dict(t2=op.join(data_path, 'mesh/%s%s.nii.gz'), t2fs=op.join(data_path, 'mesh/%s%s.nii.gz'), t1=op.join(data_path, 'mesh/%s%s.nii.gz')) datasource.inputs.template_args = info datasink = pe.Node(interface=nio.DataSink(), name="datasink") datasink.inputs.base_directory = op.abspath(name + 'structural_datasink') datasink.inputs.container = 'subject' preproc = create_structural_mesh_workflow(include_t1=True, include_t2=True, include_t2fs=True) struct_proc = pe.Workflow(name="struct_proc") struct_proc.base_dir = op.abspath(name + 'struct_proc') struct_proc.connect([ (infosource, preproc, [('subject_id', 'inputnode.subject_id')]), (infosource, preproc, [('subjects_dir', 'inputnode.subjects_dir')]), (infosource, datasource, [('subject_id', 'subject_id')]), ]) struct_proc.connect([ (datasource, preproc, [('t2', 'inputnode.t2_file')]), (datasource, preproc, [('t2fs', 'inputnode.t2fs_file')]), (datasource, preproc, [('t1', 'inputnode.t1_file')]), ])
datasource.inputs.sort_filelist = True datasource.inputs.template = "%s/%s" datasource.inputs.base_directory = data_path datasource.inputs.field_template = dict( t2=op.join(data_path,'mesh/%s%s.nii.gz'), t2fs=op.join(data_path,'mesh/%s%s.nii.gz'), t1=op.join(data_path,'mesh/%s%s.nii.gz')) datasource.inputs.template_args = info datasink = pe.Node(interface=nio.DataSink(), name="datasink") datasink.inputs.base_directory = op.abspath(name + 'structural_datasink') datasink.inputs.container = 'subject' preproc = create_structural_mesh_workflow(include_t1=True, include_t2=True, include_t2fs=True) struct_proc = pe.Workflow(name="struct_proc") struct_proc.base_dir = op.abspath(name + 'struct_proc') struct_proc.connect([ (infosource,preproc,[('subject_id', 'inputnode.subject_id')]), (infosource,preproc,[('subjects_dir', 'inputnode.subjects_dir')]), (infosource,datasource,[('subject_id', 'subject_id')]), ]) struct_proc.connect([ (datasource,preproc,[('t2', 'inputnode.t2_file')]), (datasource,preproc,[('t2fs', 'inputnode.t2fs_file')]), (datasource,preproc,[('t1', 'inputnode.t1_file')]), ])
# Normally something like: # subjects_dir = os.environ["SUBJECTS_DIR"] subject_list = ['TMS007'] infosource = pe.Node( interface=util.IdentityInterface(fields=['subject_id', 'subjects_dir']), name="infosource") infosource.iterables = ('subject_id', subject_list) infosource.inputs.subjects_dir = subjects_dir datasink = pe.Node(interface=nio.DataSink(), name="datasink") datasink.inputs.base_directory = op.abspath('structural_datasink') datasink.inputs.container = 'subject' preproc = create_structural_mesh_workflow() struct_proc = pe.Workflow(name="struct_proc") struct_proc.base_dir = op.abspath('struct_proc') struct_proc.connect([ (infosource, preproc, [('subject_id', 'inputnode.subject_id')]), (infosource, preproc, [('subjects_dir', 'inputnode.subjects_dir')]), ]) struct_proc.connect([ (preproc, datasink, [('outputnode.volumes', 'volumes')]), (preproc, datasink, [('outputnode.surfaces', 'surfaces')]), (preproc, datasink, [('outputnode.volume_mesh', 'volume_mesh')]), (preproc, datasink, [('outputnode.t1_fsl_space', 't1_fsl_space')]), ])