This tutorial walks through the steps to perform reconstruction using DIPY.
Multiple reconstruction methods are available in DIPY. You can try these methods using your own data; we will be using the data in
DIPY. You can check how to fetch the DIPY data. This method is mainly useful with datasets with gradient directions acquired in
Cartesian coordinates that can be resampled to spherical coordinates so as to
use SD methods. The basic idea of spherical deconvolution methods lies in the fact that the
underlying fiber distribution can be obtained by deconvolving the measured
diffusion signal with a fiber response function, provided that we are able to
accurately estimate the latter. In this way, the reconstruction of the fiber orientation distribution function
(fODF) in CSD involves two steps: Estimation of the fiber response function. Use the response function to reconstruct the fODF. We will be using the We will start by creating the directories to which to save the peaks volume
(e.g.: The workflow for the CSD reconstruction method requires the paths to the
diffusion input file, b-values file, b-vectors file and mask file. The optional
arguments can also be provided. In this case, we will specify the FA threshold
for calculating the response function ( To get the mask file, we will use the median Otsu thresholding method by
calling the Then, to perform the CSD reconstruction we will run the This command will save the CSD metrics to the specified output directory. The MAP-MRI basis allows for the computation of directional indices, such as
the Return To the Axis Probability (RTAP), the Return To the Plane Probability
(RTPP), and the parallel and perpendicular Non-Gaussianity. The estimation of analytical Orientation Distribution Function (ODF) and a
variety of scalar indices from noisy DWIs requires that the fitting of the
MAPMRI basis is regularized. We will use the We will create the output directory in which to save the MAP-MRI metrics (e.g.:
The Mean Apparent Propagator reconstruction method requires the paths to the
diffusion input file, b-values file, b-vectors file, small delta value, big
delta value. The optional parameters can also be provided. In this case, we
will be specifying the threshold used to find b0 volumes ( To run the MAP-MRI reconstruction method on the data, execute the
This command will save the MAP-MRI metrics to the specified output directory. The diffusion tensor model is a model that describes the diffusion within a
voxel. First proposed by Basser and colleagues [Basser1994], it has been very
influential in demonstrating the utility of diffusion MRI in characterizing the
micro-structure of white matter tissue and of the biophysical properties of
tissue, inferred from local diffusion properties and it is still very commonly
used. The diffusion tensor models the diffusion signal as: Where \(\mathbf{g}\) is a unit vector in 3D space indicating the direction of
measurement and b are the parameters of measurement, such as the strength and
duration of the diffusion-weighting gradient. \(S(\mathbf{g}, b)\) is the
measured diffusion-weighted signal and \(S_0\) is the signal conducted in a
measurement with no diffusion weighting. \(\mathbf{D}\) is a positive-definite
quadratic form, which contains six free parameters to be fit. These six
parameters are: This matrix is a variance/covariance matrix of the diffusivity along the three
spatial dimensions. Note that we can assume that diffusivity has antipodal
symmetry, so elements across the diagonal are equal. For example:
\(D_{xy} = D_{yx}\). This is why there are only 6 free parameters to estimate
here. We will use the We will first create a directory in which to save the output volumes(e.g.:
To run the Diffusion Tensor Imaging reconstruction method, we need to specify
the paths to the diffusion input file, b-values file, b-vectors file and mask
file, followed by optional arguments. In this case, we will be specifying the
list of metrics to save ( The DTI reconstruction is performed by calling the This command will save the DTI metrics to the specified output directory. The tensors will be saved as a 4D data with last dimension representing (Dxx, Dxy, Dyy, Dxz, Dyz, Dzz). The diffusion kurtosis model is an expansion of the diffusion tensor model. In
addition to the diffusion tensor (DT), the diffusion kurtosis model quantifies
the degree to which water diffusion in biological tissues is non-Gaussian using
the kurtosis tensor (KT) [Jensen2005]. Measurements of non-Gaussian diffusion from the diffusion kurtosis model are of
interest because they can be used to characterize tissue microstructural
heterogeneity [Jensen2010]. Moreover, DKI can be used to: Derive concrete biophysical parameters, such as the density of axonal fibers
and diffusion tortuosity [Fierem2011]. Resolve crossing fibers in tractography and to obtain invariant rotational
measures not limited to well-aligned fiber populations [NetoHe2015]. We will use the We will create the directories in which to save the DKI metrics (e.g.:
The Diffusion Kurtosis Imaging reconstruction method requires the paths to the
diffusion input file, b-values file, b-vectors file and mask file. The optional
parameters can also be provided. In this case, we will be specifying the threshold
used to find b0 volumes ( To get the mask file, we will use the median Otsu thresholding method by calling
the To run the DKI reconstruction method on the data, execute the This command will save the DKI metrics to the specified output directory. We are using We will create a directory in which to save the peaks volume (e.g.:
The workflow for the CSA reconstruction method requires the paths to the
diffusion input file, b-values file, b-vectors file and mask file. The optional
arguments can also be provided. In this case, we will be specifying whether or
not to save pam volumes as single nifti files ( Then, to perform the CSA reconstruction we will run the This command will save the CSA metrics to the specified output directory. The intravoxel incoherent motion (IVIM) model describes diffusion and perfusion
in the signal acquired with a diffusion MRI sequence that contains multiple low
b-values. The IVIM model can be understood as an adaptation of the work of
Stejskal and Tanner [Stejskal65] in biological tissue, and was proposed by Le
Bihan [LeBihan84]. The model assumes two compartments: a slow moving
compartment, where particles diffuse in a Brownian fashion as a consequence of
thermal energy, and a fast moving compartment (the vascular compartment), where
blood moves as a consequence of a pressure gradient. In the first compartment,
the diffusion coefficient is \(\mathbf{D}\) while in the second compartment, a
pseudo diffusion term \(\mathbf{D^*}\) is introduced that describes the
displacement of the blood elements in an assumed randomly laid out vascular
network, at the macroscopic level. According to [LeBihan84], \(\mathbf{D^*}\) is
greater than \(\mathbf{D}\). We will be using the We will start by creating the directories in which to save the output volumes
(e.g.: In order to run the IVIM reconstruction method, we need to specify the locations
of the diffusion input file, b-values file, b-vectors file and mask file
followed by the optional arguments. In this case, we will be specifying the
value to split the bvals to estimate D for the two-stage process of fitting
( To get the mask file, we will use the median Otsu thresholding method by calling
the Then, to perform the IVIM reconstruction we will run the command as: This command will save the IVIM metrics to the directory In case the output directory was not specified, the output volumes will be
saved to the current directory by default. Basser PJ, Mattielo J, LeBihan (1994). MR diffusion tensor
spectroscopy and imaging. Jensen JH, Helpern JA, Ramani A, Lu H, Kaczynski K (2005).
Diffusional Kurtosis Imaging: The Quantification of
Non_Gaussian Water Diffusion by Means of Magnetic Resonance
Imaging. Magnetic Resonance in Medicine 53: 1432-1440 Jensen JH, Helpern JA (2010). MRI quantification of
non-Gaussian water diffusion by kurtosis analysis. NMR in
Biomedicine 23(7): 698-710 Fieremans E, Jensen JH, Helpern JA (2011). White matter
characterization with diffusion kurtosis imaging. NeuroImage
58: 177-188 Neto Henriques R, Correia MM, Nunes RG, Ferreira HA (2015).
Exploring the 3D geometry of the diffusion kurtosis tensor -
Impact on the development of robust tractography procedures and
novel biomarkers, NeuroImage 111: 85-99 Stejskal, E. O.; Tanner, J. E. (1 January 1965).
“Spin Diffusion Measurements: Spin Echoes in the Presence
of a Time-Dependent Field Gradient”. The Journal of Chemical
Physics 42 (1): 288. Bibcode: 1965JChPh..42..288S.
doi:10.1063/1.1695690.Reconstruction
Constrained Spherical Deconvolution (CSD)
stanford_hardi
dataset for the CSD command line
interface demonstration purposes.recons_csd_output
) and mask file (e.g.: stanford_hardi_mask
):mkdir recons_csd_output stanford_hardi_mask
fa_thr
), spherical harmonics order
used in the CSA fit (sh_order
), whether to use parallelization in
peak-finding during the calibration procedure or not (parallel
), and the
output directory (out_dir
).dipy_median_otsu
command:dipy_median_otsu data/stanford_hardi/HARDI150.nii.gz --vol_idx 3 4 5 6 --out_dir "stanford_hardi_mask"
dipy_fit_csd
command as:dipy_fit_csd data/stanford_hardi/HARDI150.nii.gz data/stanford_hardi/HARDI150.bval data/stanford_hardi/HARDI150.bvec stanford_hardi_mask/brain_mask.nii.gz --fa_thr 0.7 --sh_order 8 --parallel --out_dir "recons_csd_output"
Mean Apparent Propagator (MAP)-MRI
cfin_multib
dataset in DIPY to showcase this reconstruction
method. You can also use your own data!recons_mapmri_output
):mkdir recons_mapmri_output
b0_threshold
)
and the output directory (out_dir
).dipy_fit_mapmri
command, e.g.:dipy_fit_mapmri data/cfin_multib/__DTI_AX_ep2d_2_5_iso_33d_20141015095334_4.nii data/cfin_multib/__DTI_AX_ep2d_2_5_iso_33d_20141015095334_4.bval data/cfin_multib/__DTI_AX_ep2d_2_5_iso_33d_20141015095334_4.bvec 0.0157 0.0365 --b0_threshold 80.0 --out_dir recons_mapmri_output
Diffusion Tensor Imaging (DTI)
stanford_hardi
dataset in DIPY to showcase this
reconstruction method. As with any other workflow in DIPY, you can also use
your own data!recons_dti_output
):mkdir recons_dti_output
save_metrics
), the output directory (out_dir
),
and the name of the tensors volume to be saved (out_tensor
).dipy_fit_dti
command,
e.g.:dipy_fit_dti data/stanford_hardi/HARDI150.nii.gz data/stanford_hardi/HARDI150.bval data/stanford_hardi/HARDI150.bvec stanford_hardi_mask/brain_mask.nii.gz --save_metrics "md" "mode" "tensor" --out_dir "recons_dti_output" --out_tensor "dti_tensors.nii.gz"
Diffusion Kurtosis Imaging (DKI)
cfin_multib
dataset in DIPY to showcase this reconstruction
method. You can also use your own data!recons_dki_output
) and mask file (e.g.: cfin_multib_mask
):mkdir recons_dki_output cfin_multib_mask
b0_threshold
) and the output
directory (out_dir
).dipy_median_otsu
command:dipy_median_otsu data/cfin_multib/__DTI_AX_ep2d_2_5_iso_33d_20141015095334_4.nii --vol_idx 3 4 5 6 --out_dir "cfin_multib_mask"
dipy_fit_dki
command, e.g.:dipy_fit_dki data/cfin_multib/__DTI_AX_ep2d_2_5_iso_33d_20141015095334_4.nii data/cfin_multib/__DTI_AX_ep2d_2_5_iso_33d_20141015095334_4.bval data/cfin_multib/__DTI_AX_ep2d_2_5_iso_33d_20141015095334_4.bvec cfin_multib_mask/brain_mask.nii.gz --b0_threshold 70.0 --out_dir recons_dki_output
Constant Solid Angle (CSA)
stanford_hardi
dataset. As with any other workflow in DIPY,
you can also use your own data!recons_csa_output
):mkdir recons_csa_output
extract_pam_values
) and the
output directory (out_dir
).dipy_fit_csa
command
as:dipy_fit_csa data/stanford_hardi/HARDI150.nii.gz data/stanford_hardi/HARDI150.bval data/stanford_hardi/HARDI150.bvec stanford_hardi_mask/brain_mask.nii.gz --extract_pam_values --out_dir "recons_csa_output"
Intravoxel Incoherent Motion (IVIM)
ivim
dataset for the IVIM command line interface
demonstration purposes.recons_ivim_output
) and mask file (e.g.: ivim_mask
):mkdir recons_ivim_output ivim_mask
split_b_D
) and the output directory (out_dir
).dipy_median_otsu
command:dipy_median_otsu data/ivim/HARDI150.nii.gz --vol_idx 3 4 5 6 --out_dir "ivim_mask"
dipy_fit_ivim data/ivim/ivim.nii.gz data/ivim/ivim.nii.gz.bval data/ivim/ivim.nii.gz.bvec ivim_mask/brain_mask.nii.gz --split_b_D 250 --out_dir "recons_ivim_output"
recons_ivim_output
.References