Recommendations for the HCP Young Adult dataset

54 views
Skip to first unread message

Christian Ewert

unread,
Aug 12, 2025, 10:34:22 AMAug 12
to NODDI
Dear all,

I would like to obtain NODDI parameters from the HCP Young Adult multi-shell dataset. For that, I am looking for recommendations regarding the following questions:

1) Biasfield Correction: Is it recommended to run a spatial biasfield-correction, e.g., with SPM, prior to the NODDI computation? Due to the normalization in the voxel-wise NODDI model, this should not make any difference, but when I run NODDI on a slice with and without biasfield correction, some (maybe 0.5%) voxels differ while the vast majority are the same (as expected).

2) b-value clustering: Should the b-values be "clustered"? The distributed b-values deviate around the intended shell, i.e., 995, 1005, 990 instead of 1000, 1000, 1000, both for b=0 and b>0. In response to an older post, it was recommended to set close-to-zero b-values to zero. In fact, not doing this causes an error. But should this also be done for the other b-values, i.e., 1000, 2000, 3000? Similarly to 1), running NODDI with and without this clustering gives the same results for almost all voxels, with a few of them being different.

3) Gradient nonlinearities: In the older post, it was recommended to incorporate the correction of gradient nonlinearities with respect to the b-vectors and b-values (via the grad_dev.nii file), causing them to differ across voxels. I assume that strategy is still recommended. Is there a native way to supply the gradient nonlinearity file to the NODDI toolbox for processing, or do I have to make changes to the code to incorporate this correction (like suggested in the older post)?

Thank you so much for your recommendations!
Christian Ewert

Christian Ewert

unread,
Aug 14, 2025, 11:27:24 AMAug 14
to NODDI
Point 2) can probably be removed from the list of open questions. Since gradient nonlinearity correction was recommended, the resulting b-values are naturally scattered around the target values. This implies that the number of shells is much greater than three—in fact, with gradient nonlinearity correction applied, we have 270 unique b-values. I initially raised this because FSL2Protocol.m calculates the unique b-values; however, for the default PGSE sequence, this information does not appear to be used elsewhere in the code. I assume that scattered b-values (except zero) do not introduce instability into model fitting, and I will proceed without bias field correction (1), without b-value clustering (2), and with gradient nonlinearity correction applied (3).
Reply all
Reply to author
Forward
0 new messages