"B15" instead of B0


Hi all,

I’ve started analyzing data collected at a 7T Siemens scanner using the following parameters: PA and AP phase encode directions, 5 b0’s and b= 1200, 68 directions, voxel size 1.1×1.1×2.1 mm. When converting the data (have tried different tools) the gradient file shows the b0’s with a value of 15 instead of 0, causing issues in the analysis later on. The other values vary between 1175 and 1225. Do I need to scale the gradient file?

Many thanks!


The b-value of a b=0 is never really zero due to the imaging gradients. On a Siemens system, the exact b-value is calculated including all the imaging gradients and the cross-terms they might introduce. However, for a b=0 image, it should be pretty small, b=15 seems quite high. Also, there seems to be quite a bit of variation in your b-values (I assume they should be identical?). It might be worth checking that your sequence is doing the right thing (see this old paper on the issue) – main thing to watch out for are non-refocused gradient before the first DW gradient pulse.

In any case, the simplest thing to get around this is to add the appropriate entry in your config file, to set the threshold for what MRtrix3 considers a b=0 volume. I expect setting it to 20 should be sufficient in your case (default is 10).

No bzero detected in HCP S1200 7T data
No bzero detected in HCP S1200 7T data

Thanks a lot for your insight. I think we used a custom sequence, so the b-values are probably the result of that. All data has already been collected, but I’ll let them know!
Great that I can still use mrtrix and work around it by changing the config file!


OK, if it’s a custom sequence, then yes, there is scope for cross-terms to have been inadvertently introduced. This is a problem for any quantitative analysis, since the cross terms will be directionally-dependent, giving a directionally-dependent b-value – it’s no longer a nice spherical shell. I’m not sure what you can do about this, but at a minimum I’d put an isotropic phantom with appropriate diffusivity in the scanner and get a feel for how variable the DW signal as a function of orientation – a tensor fit would be sufficient here. You might find the anisotropy is clearly non-zero. You might also observe a clear directional bias in the first eigenvector. Either of these would be problematic.

Also note that modifying the config file will only instruct MRtrix to consider your b=15 volumes as b=0 volumes – it won’t solve the underlying problem with the directionally-dependent b-value in any way…