It looks like you have the correct understanding of this.  One cannot easily 
apply the gradient nonlinearity effects on the diffusion gradients to the 
images, as really you need to apply them to the bvals and bvecs.



 on behalf of Szabolcs David 
Date: Thursday, August 10, 2017 at 7:03 PM
To: "<>" 
Subject: [HCP-Users] DTI on HCP data

​Dear HCP Team,

I would like to use HCP diffusion data to do some diffusion tensor fitting and 
subsequently calculate maps of FA, MD, etc. For this I think it would be handy 
to use the followings:

We can refer to these files as the result of the 'minimal processing pipeline' 
(Glasser 13 Neuroimage), as this diffusion data is already processed for motion 
and B0 inhomogeneities among many other artifacts. But since I would like to do 
some custom-made model estimation (aka. outside of FSL/dtifit/bedpostx), I need 
to implement a voxelwise bvecs rotation and bval calculation, because of the 
effect of the diffusion gradient nonlinearities. To do this the source is the 
$subject\T1w\Diffusion\grad_dev.nii.gz file.
A bit of matlab script is provided to calculate the proper bvec and bval per 
voxel. (this guy:

Generally: I am right with the above? In the mentioned paper this part is a bit 
confusing for me (highlighted some parts):

"The gradient nonlinearity correction warpfield is then calculated for the 
diffusion data to remove this spatial distortion (Jovicich et al., 2006), and 
the mean b0 image is distortion corrected. Additionally, the effects of 
gradient nonlinearity on the diffusion encoding magnitudes and directions are 
calculated (Bammer et al., 2003; Sotiropoulos it et al., 2013–this issue). The 
partial derivatives of the spatially-dependent magnetic field are used to 
calculate a gradient field tensor at each voxel, which maps “nominal” to actual 
gradient magnitudes and directions (Bammer et al., 2003). Using the gradient 
field tensor, the magnitude and direction of the diffusion-sensitizing 
gradients can be corrected at each brain voxel. This information is 
subsequently used for more accurate fiber orientation estimation."

In short: the diffusion weighted gradient nonlinearities are calculated, BUT 
not applied. That is why every time one wants to do model estimation diffusion 
gradient nonlinearities must be considered in a form to use different bvals and 
bvecs per voxel. In FSL for dtifit that would be calling the --gradnonlin 
option. In contrast, distortions from (regular) imaging gradients are 
corrected, after topup+eddy based correction for B0 inhomogeneities and eddy 
current distortion correction. This is stated right after the cited paragraph 
from the same paper:
"It is worth noting that the gradient nonlinearity correction is done at a much 
later stage in the diffusion pipeline than in the fMRIVolume pipeline. Ideally 
the gradient nonlinearity distortion correction would be done simultaneously 
with the B0 inhomogeneity distortion correction, as well as with the eddy 
current distortion correction and rigid-body motion correction, as all of these 
interact." -> but here the "gradient nonlinearity distortion correction" is 
about the imaging gradients, right? The correction of diffusion gradient 
nonlinearities are *still* stored in the grad_dev.nii.gz file and must be used 
during model estimation.

Apologies for the long email.


HCP-Users mailing list<>

HCP-Users mailing list

Reply via email to