workflows.dmri.fsl.dti¶
bedpostx_parallel()
¶
Does the same as create_bedpostx_pipeline()
by splitting
the input dMRI in small ROIs that are better suited for parallel
processing).
Example¶
>>> from nipype.workflows.dmri.fsl.dti import bedpostx_parallel
>>> params = dict(n_fibres = 2, fudge = 1, burn_in = 1000,
... n_jumps = 1250, sample_every = 25)
>>> bpwf = bedpostx_parallel('nipype_bedpostx_parallel', params=params)
>>> bpwf.inputs.inputnode.dwi = 'diffusion.nii'
>>> bpwf.inputs.inputnode.mask = 'mask.nii'
>>> bpwf.inputs.inputnode.bvecs = 'bvecs'
>>> bpwf.inputs.inputnode.bvals = 'bvals'
>>> bpwf.run(plugin='CondorDAGMan')
Inputs:
inputnode.dwi
inputnode.mask
inputnode.bvecs
inputnode.bvals
Outputs:
outputnode wraps all XFibres outputs
Graph¶
![digraph bedpostx_parallel{
label="bedpostx_parallel";
bedpostx_parallel_inputnode[label="inputnode (utility)"];
bedpostx_parallel_slice_dwi[label="slice_dwi (misc)"];
bedpostx_parallel_xfibres[label="xfibres (fsl)"];
bedpostx_parallel_Merge_dyads[label="Merge_dyads (misc)"];
bedpostx_parallel_Merge_mean_fsamples[label="Merge_mean_fsamples (misc)"];
bedpostx_parallel_Make_dyads[label="Make_dyads (fsl)"];
bedpostx_parallel_outputnode[label="outputnode (utility)"];
bedpostx_parallel_inputnode -> bedpostx_parallel_Merge_dyads;
bedpostx_parallel_inputnode -> bedpostx_parallel_Merge_mean_fsamples;
bedpostx_parallel_inputnode -> bedpostx_parallel_xfibres;
bedpostx_parallel_inputnode -> bedpostx_parallel_xfibres;
bedpostx_parallel_inputnode -> bedpostx_parallel_Make_dyads;
bedpostx_parallel_inputnode -> bedpostx_parallel_slice_dwi;
bedpostx_parallel_inputnode -> bedpostx_parallel_slice_dwi;
bedpostx_parallel_slice_dwi -> bedpostx_parallel_Merge_dyads;
bedpostx_parallel_slice_dwi -> bedpostx_parallel_Merge_mean_fsamples;
bedpostx_parallel_slice_dwi -> bedpostx_parallel_xfibres;
bedpostx_parallel_slice_dwi -> bedpostx_parallel_xfibres;
bedpostx_parallel_xfibres -> bedpostx_parallel_Merge_dyads;
bedpostx_parallel_xfibres -> bedpostx_parallel_Merge_mean_fsamples;
bedpostx_parallel_Merge_dyads -> bedpostx_parallel_outputnode;
bedpostx_parallel_Merge_mean_fsamples -> bedpostx_parallel_outputnode;
subgraph cluster_bedpostx_parallel_thsamples {
label="thsamples";
bedpostx_parallel_thsamples_inputnode[label="inputnode (utility)"];
bedpostx_parallel_thsamples_Merge[label="Merge (misc)"];
bedpostx_parallel_thsamples_Mean[label="Mean (fsl)"];
bedpostx_parallel_thsamples_outputnode[label="outputnode (utility)"];
bedpostx_parallel_thsamples_inputnode -> bedpostx_parallel_thsamples_Merge;
bedpostx_parallel_thsamples_inputnode -> bedpostx_parallel_thsamples_Merge;
bedpostx_parallel_thsamples_inputnode -> bedpostx_parallel_thsamples_Merge;
bedpostx_parallel_thsamples_Merge -> bedpostx_parallel_thsamples_Mean;
bedpostx_parallel_thsamples_Merge -> bedpostx_parallel_thsamples_outputnode;
bedpostx_parallel_thsamples_Mean -> bedpostx_parallel_thsamples_outputnode;
}
subgraph cluster_bedpostx_parallel_phsamples {
label="phsamples";
bedpostx_parallel_phsamples_inputnode[label="inputnode (utility)"];
bedpostx_parallel_phsamples_Merge[label="Merge (misc)"];
bedpostx_parallel_phsamples_Mean[label="Mean (fsl)"];
bedpostx_parallel_phsamples_outputnode[label="outputnode (utility)"];
bedpostx_parallel_phsamples_inputnode -> bedpostx_parallel_phsamples_Merge;
bedpostx_parallel_phsamples_inputnode -> bedpostx_parallel_phsamples_Merge;
bedpostx_parallel_phsamples_inputnode -> bedpostx_parallel_phsamples_Merge;
bedpostx_parallel_phsamples_Merge -> bedpostx_parallel_phsamples_Mean;
bedpostx_parallel_phsamples_Merge -> bedpostx_parallel_phsamples_outputnode;
bedpostx_parallel_phsamples_Mean -> bedpostx_parallel_phsamples_outputnode;
}
bedpostx_parallel_Make_dyads -> bedpostx_parallel_outputnode;
subgraph cluster_bedpostx_parallel_fsamples {
label="fsamples";
bedpostx_parallel_fsamples_inputnode[label="inputnode (utility)"];
bedpostx_parallel_fsamples_Merge[label="Merge (misc)"];
bedpostx_parallel_fsamples_Mean[label="Mean (fsl)"];
bedpostx_parallel_fsamples_outputnode[label="outputnode (utility)"];
bedpostx_parallel_fsamples_inputnode -> bedpostx_parallel_fsamples_Merge;
bedpostx_parallel_fsamples_inputnode -> bedpostx_parallel_fsamples_Merge;
bedpostx_parallel_fsamples_inputnode -> bedpostx_parallel_fsamples_Merge;
bedpostx_parallel_fsamples_Merge -> bedpostx_parallel_fsamples_Mean;
bedpostx_parallel_fsamples_Merge -> bedpostx_parallel_fsamples_outputnode;
bedpostx_parallel_fsamples_Mean -> bedpostx_parallel_fsamples_outputnode;
}
bedpostx_parallel_inputnode -> bedpostx_parallel_thsamples_inputnode;
bedpostx_parallel_inputnode -> bedpostx_parallel_fsamples_inputnode;
bedpostx_parallel_inputnode -> bedpostx_parallel_phsamples_inputnode;
bedpostx_parallel_xfibres -> bedpostx_parallel_fsamples_inputnode;
bedpostx_parallel_xfibres -> bedpostx_parallel_phsamples_inputnode;
bedpostx_parallel_xfibres -> bedpostx_parallel_thsamples_inputnode;
bedpostx_parallel_thsamples_outputnode -> bedpostx_parallel_outputnode;
bedpostx_parallel_thsamples_outputnode -> bedpostx_parallel_outputnode;
bedpostx_parallel_thsamples_outputnode -> bedpostx_parallel_Make_dyads;
bedpostx_parallel_fsamples_outputnode -> bedpostx_parallel_outputnode;
bedpostx_parallel_fsamples_outputnode -> bedpostx_parallel_outputnode;
bedpostx_parallel_phsamples_outputnode -> bedpostx_parallel_outputnode;
bedpostx_parallel_phsamples_outputnode -> bedpostx_parallel_outputnode;
bedpostx_parallel_phsamples_outputnode -> bedpostx_parallel_Make_dyads;
bedpostx_parallel_slice_dwi -> bedpostx_parallel_thsamples_inputnode;
bedpostx_parallel_slice_dwi -> bedpostx_parallel_phsamples_inputnode;
bedpostx_parallel_slice_dwi -> bedpostx_parallel_fsamples_inputnode;
}](../../_images/graphviz-a9d8b7f47ca6b8b0ad49773157b119723d415f8a.png)
create_bedpostx_pipeline()
¶
Creates a pipeline that does the same as bedpostx script from FSL - calculates diffusion model parameters (distributions not MLE) voxelwise for the whole volume (by splitting it slicewise).
Example¶
>>> from nipype.workflows.dmri.fsl.dti import create_bedpostx_pipeline
>>> params = dict(n_fibres = 2, fudge = 1, burn_in = 1000,
... n_jumps = 1250, sample_every = 25)
>>> bpwf = create_bedpostx_pipeline('nipype_bedpostx', params)
>>> bpwf.inputs.inputnode.dwi = 'diffusion.nii'
>>> bpwf.inputs.inputnode.mask = 'mask.nii'
>>> bpwf.inputs.inputnode.bvecs = 'bvecs'
>>> bpwf.inputs.inputnode.bvals = 'bvals'
>>> bpwf.run()
Inputs:
inputnode.dwi
inputnode.mask
inputnode.bvecs
inputnode.bvals
Outputs:
outputnode wraps all XFibres outputs
Graph¶
![digraph bedpostx{
label="bedpostx";
bedpostx_inputnode[label="inputnode (utility)"];
bedpostx_slice_dwi[label="slice_dwi (fsl)"];
bedpostx_slice_msk[label="slice_msk (fsl)"];
bedpostx_mask_dwi[label="mask_dwi (fsl)"];
bedpostx_xfibres[label="xfibres (fsl)"];
bedpostx_make_dyads[label="make_dyads (fsl)"];
bedpostx_outputnode[label="outputnode (utility)"];
bedpostx_inputnode -> bedpostx_slice_msk;
bedpostx_inputnode -> bedpostx_make_dyads;
bedpostx_inputnode -> bedpostx_slice_dwi;
bedpostx_inputnode -> bedpostx_xfibres;
bedpostx_inputnode -> bedpostx_xfibres;
bedpostx_slice_dwi -> bedpostx_xfibres;
bedpostx_slice_dwi -> bedpostx_mask_dwi;
bedpostx_slice_msk -> bedpostx_mask_dwi;
bedpostx_mask_dwi -> bedpostx_xfibres;
subgraph cluster_bedpostx_phsamples {
label="phsamples";
bedpostx_phsamples_inputnode[label="inputnode (utility)"];
bedpostx_phsamples_Merge[label="Merge (fsl)"];
bedpostx_phsamples_Mean[label="Mean (fsl)"];
bedpostx_phsamples_outputnode[label="outputnode (utility)"];
bedpostx_phsamples_inputnode -> bedpostx_phsamples_Merge;
bedpostx_phsamples_Merge -> bedpostx_phsamples_outputnode;
bedpostx_phsamples_Merge -> bedpostx_phsamples_Mean;
bedpostx_phsamples_Mean -> bedpostx_phsamples_outputnode;
}
subgraph cluster_bedpostx_thsamples {
label="thsamples";
bedpostx_thsamples_inputnode[label="inputnode (utility)"];
bedpostx_thsamples_Merge[label="Merge (fsl)"];
bedpostx_thsamples_Mean[label="Mean (fsl)"];
bedpostx_thsamples_outputnode[label="outputnode (utility)"];
bedpostx_thsamples_inputnode -> bedpostx_thsamples_Merge;
bedpostx_thsamples_Merge -> bedpostx_thsamples_Mean;
bedpostx_thsamples_Merge -> bedpostx_thsamples_outputnode;
bedpostx_thsamples_Mean -> bedpostx_thsamples_outputnode;
}
bedpostx_make_dyads -> bedpostx_outputnode;
bedpostx_make_dyads -> bedpostx_outputnode;
subgraph cluster_bedpostx_fsamples {
label="fsamples";
bedpostx_fsamples_inputnode[label="inputnode (utility)"];
bedpostx_fsamples_Merge[label="Merge (fsl)"];
bedpostx_fsamples_Mean[label="Mean (fsl)"];
bedpostx_fsamples_outputnode[label="outputnode (utility)"];
bedpostx_fsamples_inputnode -> bedpostx_fsamples_Merge;
bedpostx_fsamples_Merge -> bedpostx_fsamples_Mean;
bedpostx_fsamples_Merge -> bedpostx_fsamples_outputnode;
bedpostx_fsamples_Mean -> bedpostx_fsamples_outputnode;
}
bedpostx_xfibres -> bedpostx_phsamples_inputnode;
bedpostx_xfibres -> bedpostx_thsamples_inputnode;
bedpostx_xfibres -> bedpostx_fsamples_inputnode;
bedpostx_thsamples_outputnode -> bedpostx_outputnode;
bedpostx_thsamples_outputnode -> bedpostx_outputnode;
bedpostx_thsamples_outputnode -> bedpostx_make_dyads;
bedpostx_fsamples_outputnode -> bedpostx_outputnode;
bedpostx_fsamples_outputnode -> bedpostx_outputnode;
bedpostx_phsamples_outputnode -> bedpostx_outputnode;
bedpostx_phsamples_outputnode -> bedpostx_outputnode;
bedpostx_phsamples_outputnode -> bedpostx_make_dyads;
}](../../_images/graphviz-e94dbbe9df49a72e8c5af6ad61dff054efbde59a.png)