def create_tbss(): """ TBSS analysis """ #tbss_source = get_tbss_source() inputnode = pe.Node(interface=util.IdentityInterface(fields=['fa_list','md_list']), name='inputspec') tbss_all = create_tbss_all() tbss_all.inputs.inputnode.skeleton_thresh = skeleton_thresh tbssproc = pe.Workflow(name="tbssproc") tbssproc.base_dir = os.path.join(os.path.abspath(workingdir), 'l2') tbssproc.connect(inputnode, 'fa_list', tbss_all, 'inputnode.fa_list') tbss_MD = create_tbss_non_FA(name='tbss_MD') tbss_MD.inputs.inputnode.skeleton_thresh = tbss_all.inputs.inputnode.skeleton_thresh tbssproc.connect([(tbss_all, tbss_MD, [('tbss2.outputnode.field_list', 'inputnode.field_list'), ('tbss3.outputnode.groupmask', 'inputnode.groupmask'), ('tbss3.outputnode.meanfa_file', 'inputnode.meanfa_file'), ('tbss4.outputnode.distance_map', 'inputnode.distance_map')]), (inputnode, tbss_MD, [('md_list', 'inputnode.file_list')]), ]) return tbssproc
tbss_source.inputs.template = '%s/%s_%s.nii' tbss_source.inputs.template_args = dict(fa_list=[['FA', subject_list, 'FA']], md_list=[['MD', subject_list, 'MD']]) tbss_source.inputs.sort_filelist = True """ TBSS analysis """ tbss_all = create_tbss_all() tbss_all.inputs.inputnode.skeleton_thresh = 0.2 tbssproc = pe.Workflow(name="tbssproc") tbssproc.base_dir = tbss_dir # os.path.join(os.path.abspath(resultsDir), ,'tbss', 'l2') tbssproc.connect(tbss_source, 'fa_list', tbss_all, 'inputnode.fa_list') tbss_MD = create_tbss_non_FA(name='tbss_MD') tbss_MD.inputs.inputnode.skeleton_thresh = tbss_all.inputs.inputnode.skeleton_thresh tbssproc.connect([ (tbss_all, tbss_MD, [('tbss2.outputnode.field_list', 'inputnode.field_list'), ('tbss3.outputnode.groupmask', 'inputnode.groupmask'), ('tbss3.outputnode.meanfa_file', 'inputnode.meanfa_file'), ('tbss4.outputnode.distance_map', 'inputnode.distance_map')]), (tbss_source, tbss_MD, [('md_list', 'inputnode.file_list')]), ]) """ Run the workflow as command line executable """ if __name__ == '__main__':
tbss_source.inputs.sort_filelist = True tbss_source.inputs.template = '%s.nii.gz' tbss_source.inputs.template_args = dict(file_list=[[get_nonFAList(subject_list)]], field_list = [[getfieldList(subject_list)]] ) """ Setup data storage area """ datasink = pe.Node(interface=nio.DataSink(parameterization=False),name='datasink') datasink.inputs.base_directory = os.path.abspath(sinkdir) ''' TBSS analysis ''' tbss_nonFA = create_tbss_non_FA(name='tbss_'+nonFA) tbss_nonFA.inputs.inputnode.skeleton_thresh = skeleton_thr tbss_nonFA.inputs.inputnode.groupmask = os.path.join(sinkdir, 'brain_groupmask.nii.gz') tbss_nonFA.inputs.inputnode.meanfa_file = os.path.join(sinkdir, 'mean_FA.nii.gz') tbss_nonFA.inputs.inputnode.distance_map = os.path.join(sinkdir, 'distance_map.nii.gz') rename_nonfa = pe.Node(util.Rename(format_string='all_'+nonFA+'_skeletonised.nii.gz'), name='renamenonfa') tbss_nonFA_proc = pe.Workflow(name="tbss_" + nonFA + "_proc") tbss_nonFA_proc.base_dir = os.path.abspath(tbssDir) tbss_nonFA_proc.connect([ (tbss_source, tbss_nonFA,[('file_list','inputnode.file_list'), ('field_list','inputnode.field_list') ]), (tbss_nonFA, rename_nonfa, [ ('outputnode.projected_nonFA_file', 'in_file'),
tbss_source.inputs.template_args = dict( fa_list=[['FA', subjects_list, 'FA']], md_list=[['MD', subjects_list, 'MD']]) tbss_source.inputs.sort_filelist = True """ TBSS analysis """ tbss_all = create_tbss_all() tbss_all.inputs.inputnode.skeleton_thresh = 0.2 tbssproc = pe.Workflow(name="tbssproc") tbssproc.base_dir = os.path.join(os.path.abspath(workingdir), 'l2') tbssproc.connect(tbss_source, 'fa_list', tbss_all, 'inputnode.fa_list') tbss_MD = create_tbss_non_FA(name='tbss_MD') tbss_MD.inputs.inputnode.skeleton_thresh = tbss_all.inputs.inputnode.skeleton_thresh tbssproc.connect([ (tbss_all, tbss_MD, [('tbss2.outputnode.field_list', 'inputnode.field_list'), ('tbss3.outputnode.groupmask', 'inputnode.groupmask'), ('tbss3.outputnode.meanfa_file', 'inputnode.meanfa_file'), ('tbss4.outputnode.distance_map', 'inputnode.distance_map')]), (tbss_source, tbss_MD, [('md_list', 'inputnode.file_list')]), ]) if __name__ == '__main__': tbssproc.write_graph() tbssproc.run()