User script: aa_user_diffusion.m
- aamod_get_dicom_diffusion: Gets a list of all of the DICOM files that correspond to the diffusion series (typically, as identified by aamod_autoidentifyseries_timtrio)
- aamod_convert_diffusion: Convert diffusion images from DICOM to NIFTI
- aamod_3dto4d_diffusion: Convert diffusion images from 3D to 4D. The XML file is ‘aamod_3dto4d_diffusion.xml’ which refers to the matlab file (using mfile_alias) ‘aamod_3dto4d.m’
- aamod_diffusion_eddycorrect: This uses FSL to eddy corrects image distorsions, head movements using affine registration to a reference volume (T2 image)
- aamod_diffusion_extractnodif: This uses FSL to extract the reference(s) image(s) (T2 image with b-value of 0), called nodif
- aamod_bet_diffusion: This uses FSL to extract the brain of the nodif image. Brain extraction toolbox. Its ‘mfile’ is aamod_bet.
- aamod_diffusion_dtifit: This uses FSL to fit a diffusion tensor model at each voxel. Note that dtifit is not neccessary in order to run probabilistic tractrography (which depends on the output of BEDPOSTX)
- aamod_get_dicom_structural: Gets a list of all of the DICOM fields that correspond to the structural series (typically, as identified by aamod_autoidentifyseries_timtrio)
- aamod_convert_structural: Structural DICOM to NIFTI
- aamod_coreg_structural2fa: Co-register structural to diffusion image (dti_FA)
- aamod_norm_noss: This uses SPM to “normalise” (i.e., find the transformation that warps an individual’s brain to a template). It also segments the structural into 6 different compartments, including grey matter, white matter & CSF.
- aamod_unnormalise_seeds: This uses SPM to “unnormalise” the seeds (i.e., apply the inverse matrix to transform the seed (MNI space) to diffusion space).
- aamod_unnormalise_targets: This uses SPM to “unnormalise” the targets (i.e., apply the inverse matrix to transform the targets (MNI space) to diffusion space).
- aamod_diffusion_bedpostx: This uses FSL to apply bedpostx in our data. BEDPOSTX stands for Bayesian Estimation of Diffusion Parameters Obtained using Sampling Techniques. The X stands for modelling Crossing Fibres. Bedpostx runs Markov Chain Monte Carlo sampling to build up distributions on diffusion parameters at each voxel. It creates all the files necessary for running probabilistic tractography. We used Command line argument: –model=2. Multi-Shell Model : Use this option if the data contain more than one non-zero bvalue. This will use the model described in Jbabdi et al. MRM 2012, where the diffusion coefficient is modelled using a Gamma distribution. This option will output the posterior mean of a diffusivity variance parameter mean_d_stdsamples.
- aamod_diffusion_probtrackx: This uses FSL to apply probtrackx in our data. PROBTRACKX repetitively samples from the distributions on voxel-wise principal diffusion directions, each time computing a streamline through these local samples to generate a probabilistic streamline or a sample from the distribution on the location of the true streamline. aa splits each probtrackx into a number of runs (defined by aap.options.probtrackx.nsplits, default 20). By taking many such samples FDT is able to build up the posterior distribution on the streamline location or the connectivity distribution.
- We used the option ‘classification targets’ to generate a connectivity-based seed
- We used the option –omatrix2 which produces “connectivity” for each classification quantifies connectivity values between a seed mask and any number of user-specified target masks.seed x target connection. Outputs: seed voxels to voxels in target2 mask space matrix. It saves a matrix where the rows represent seed voxels and the columns are the tract distributions for each seed voxel. The lookup tables are also saved to you can convert the rows of the matrix into 3D volumes.
- aamod_diffusion_probtrackxsummarize_indv: Get the results of probtrackx (diffusion space) of each participant, merge the different splits and transform them to the MNI space.
- aamod_diffusion_probtrackxsummarize_group: This averages the seed-to-target connectivity images across subjects, which we’ve used for visualization.
The example tasklist uses a branched pipeline, so that it is easy to duplicate the branch and repeat the analysis for different seed and target ROIs. The modules in this branch are as follows.
Because diffusion pipelines frequently rely on FSL for diffusion analysis, they often use FSL for normalization as well. However, we’ve used SPM, so that the pipeline results can be more easily compared with fMRI results processed using SPM/aa.
Blame: The first version of the diffusion pipeline was written by Rhodri Cusack and Leire Zubiaurre-Elorza in Summer/Fall 2013.