Question about processing different bvalues in HCP data with mrconvert and NODDI fitting

Hello,

This question isn’t necessarily specific just to mrtrix, however, I am trying to process HCP data from the S1200 release. I am using the pre-processed data and something I realize is that a lot of the b-values are slightly different between subject acquisition.

I created bval and bvecs from mrconvert for each subject and am now trying to use these to run AMICO to fit theNODDI model to the data. However, it seems that the bval.scheme created from these bvals and bvecs is different between subjects because a lot of the values have a +/-5 error (2995, 3000, and 3005).

Has anyone worked with HCP data and figured out a way to overcome issues with the bval scheme? I have use mrtrix b-value threshold so that the b=5 are considered b=0 but the higher bval shells have become a problem for model fitting with techniques like AMICO/NODDI.

Thanks for any advice or experience anyone can provide!

Hi Daniel,

However, it seems that the bval.scheme created from these bvals and bvecs is different between subjects because a lot of the values have a +/-5 error (2995, 3000, and 3005)

This is common not just for HCP data; data coming from all Siemens scanners as far as I know do the same. The platform provides a diffusion sensitisation estimate based on all imaging gradients, not just those dedicated to diffusion sensitisation. If a software package is unable to tolerate such input data, that’s a limitation I’d probably be suggesting to the developers to address, since this is entirely typical of acquired data that would be fed to such software.

In the absence of such software changes though, it should not be too difficult to write a script to produce a modified gradient table that removes all b-value variance from each shell. Indeed (using code from the coming update) it would not be too difficult to write a script that would exploit mrinfo to obtain MRtrix3’s shell classification (both mean b-value per shell and which volumes are assigned to which shell), generate a gradient table containing no within-shell b-value variance, and write this to an image header or export to gradient table file. Easy script project for anyone eager to get their hands dirty…

Rob