Set b-values vector with TractoFlow

Dear TractoFlow community,

I’m having an issue with TractoFlow.
I have an oscillation of +/- 50 around my b-values 0, 1000, 2000 s/mm^2. So, actually, my real b-values are: 0, 50, 950, 1000, 1050, 1950, 2000 and 2050.

If I run TractoFlow with this 50-ish variation, eddy crashes. I used also the option –dwi_shell_tolerance 50, but it didn’t work (I assumed from the help that this option could allow a bvalue oscillation). This seems to be a common eddy issue, as showed in a separate thread in the FSL mailing list.

The only way to avoid eddy to crash is to remove the +/- 50 oscillation, leading to values of: 0, 1000 and 2000. In this way, TractoFlow works. I think that for eddy this is not an problem as it is a common solution. However, using this vector may affect the DTI metric calculation? I think that the DTI metrics need indeed the real b-values.

Any suggestions on how to fix this within TractoFlow?

Thank you.

Hi @Ric ,

Definitively something I have to look into. Would you be able to provide some data ? I will open an issue and try to fix this asap.

Thank you

Relevant to this discussion is that dcm2niix stores the applied b-value (with a rounding error) rather than the requested b-value.

Consider sequence where you request gradients such as 0 and 1500. Based on this you might expect the applied gradients to only have these values, e.g.
0 0 0 0 1500 1500 1500 1500…
but in reality the scanner saves the applied gradients (with a bit of rounding error) rather than the requested gradients, so your file will look something like
5 5 5 5 1495 1500 1500 1490…
to quote Essa Yacoub these are “more accurate representations of the actual b values… Regarding the b zero - there are always gradients so the weighting is never zero but the crusher gradients typically amount to around 5 and we did add an option in the gui to increase that if need be”.