def create_dmn_pipeline_step2(name="dmn_step2", auto_reorient=True):
    inputnode = pe.Node(
        interface=util.IdentityInterface(fields=[  # For the fiber tracking
            "subject_id",
            "dwi",
            "bvecs",
            "bvals",
            "single_fiber_mask",
            "wm_mask",
            "termination_mask",
            "registration_matrix_file",
            "registration_image_file",

            # For the connectivity workflow
            "fa",
            "md",
            "roi_file",
            "summary_images"
        ]),
        name="inputnode")

    outputnode = pe.Node(interface=util.IdentityInterface(fields=[
        "fiber_odfs", "fiber_tracks_tck_dwi", "fiber_tracks_trk_t1",
        "connectivity_files", "connectivity_data", "summary_images"
    ]),
                         name="outputnode")

    tracking = anatomically_constrained_tracking("tracking")
    connectivity = create_paired_tract_analysis_wf("connectivity")

    workflow = pe.Workflow(name=name)
    workflow.base_dir = name

    workflow.connect([(inputnode, tracking, [
        ("subject_id", "inputnode.subject_id"),
        ("dwi", "inputnode.dwi"),
        ("bvecs", "inputnode.bvecs"),
        ("bvals", "inputnode.bvals"),
        ("single_fiber_mask", "inputnode.single_fiber_mask"),
        ("wm_mask", "inputnode.wm_mask"),
        ("termination_mask", "inputnode.termination_mask"),
        ("registration_matrix_file", "inputnode.registration_matrix_file"),
        ("registration_image_file", "inputnode.registration_image_file"),
    ])])

    workflow.connect([(tracking, connectivity, [
        ("outputnode.fiber_tracks_tck_dwi", "inputnode.track_file")
    ])])

    workflow.connect([(inputnode, connectivity, [
        ("subject_id", "inputnode.subject_id"),
        ("fa", "inputnode.fa"),
        ("md", "inputnode.md"),
        ("roi_file", "inputnode.roi_file"),
        ("registration_matrix_file", "inputnode.registration_matrix_file"),
        ("registration_image_file", "inputnode.registration_image_file"),
    ])])

    workflow.connect([(tracking, outputnode, [
        ("outputnode.fiber_odfs", "fiber_odfs"),
        ("outputnode.fiber_tracks_tck_dwi", "fiber_tracks_tck_dwi"),
        ("outputnode.fiber_tracks_trk_t1", "fiber_tracks_trk_t1"),
    ])])

    workflow.connect([(connectivity, outputnode, [
        ("outputnode.connectivity_files", "connectivity_files"),
        ("outputnode.connectivity_data", "connectivity_data"),
        ("outputnode.summary_images", "summary_images"),
    ])])

    return workflow
Example #2
0
import os.path as op
import nipype.interfaces.io as nio  # Data i/o
import nipype.interfaces.utility as util  # utility
import nipype.pipeline.engine as pe  # pypeline engine
import nipype.interfaces.fsl as fsl

fsl.FSLCommand.set_default_output_type('NIFTI_GZ')

from coma.workflows.dmn import create_paired_tract_analysis_wf

path = op.abspath("/Users/erik/Dropbox/Thesis/Data/Bend1")

short_roi_names = [
    "LThal", "RThal", "LFront", "RFront", "LPrec", "RPrec", "LInfPar",
    "RInfPar"
]

paired = create_paired_tract_analysis_wf("example_paired")
paired.base_dir = op.abspath("example_paired")
paired.inputs.inputnode.fa = op.join(path, "Bend1_fa.nii.gz")
paired.inputs.inputnode.md = op.join(path, "Bend1_md.nii.gz")
paired.inputs.inputnode.roi_file = op.join(path, "DMN_ROIs_DTIReg.nii")
paired.inputs.inputnode.track_file = op.join(path, "Bend1_tracks_50k.tck")
paired.inputs.inputnode.roi_names = short_roi_names
paired.write_graph()
paired.config['execution'] = {
    'remove_unnecessary_outputs': 'false',
    'hash_method': 'timestamp'
}
paired.run()
#workflow.run(plugin='MultiProc', plugin_args={'n_procs' : 4})
import nipype.interfaces.utility as util     # utility
import nipype.pipeline.engine as pe          # pypeline engine
import nipype.interfaces.fsl as fsl

fsl.FSLCommand.set_default_output_type('NIFTI_GZ')

from coma.workflows.dmn import create_paired_tract_analysis_wf

path = op.abspath("/Users/erik/Dropbox/Thesis/Data/Bend1")

short_roi_names = ["LThal",
         "RThal",
         "LFront",
         "RFront",
         "LPrec",
         "RPrec",
         "LInfPar",
         "RInfPar"]

paired = create_paired_tract_analysis_wf("example_paired")
paired.base_dir = op.abspath("example_paired")
paired.inputs.inputnode.fa = op.join(path,"Bend1_fa.nii.gz")
paired.inputs.inputnode.md = op.join(path,"Bend1_md.nii.gz")
paired.inputs.inputnode.roi_file = op.join(path,"DMN_ROIs_DTIReg.nii")
paired.inputs.inputnode.track_file = op.join(path,"Bend1_tracks_50k.tck")
paired.inputs.inputnode.roi_names = short_roi_names
paired.write_graph()
paired.config['execution'] = {'remove_unnecessary_outputs': 'false',
                                   'hash_method': 'timestamp'}
paired.run()
#workflow.run(plugin='MultiProc', plugin_args={'n_procs' : 4})