Erroneous Tracts on preclinical Data

Dear MRtrix Community,

I’ve been using the MRtrix tools on to for preprocessing and creation of tractograms on some Equine data. I had noticed the tracts were spurious and incorrect so I went back and discovered the y z bvec had been swapped when the bvec were configured. When I re-ran the process with the corrected bvecs I still get erroneous tracts despite trying several different algorithms. Are there assumptions MRtrix makes that are only suitable for human data? Or is there something wrong with the processing or data?

Please see the screenshots before for details.
My preprocessing was like this:
dwidenoise dwi_2mm dwi_denoised
dwibiascorrect -fsl dwi_denoised dwi_bc -fslgrad bvec_yzswap bval
eddy dwi_bc.nii.gz dwi_corrected.nii.gz 0
dwi2mask -fslgrad bvec_yzswap bval dwi_corrected.nii.gz dwi_corrected_mask.nii.gz
#screenshot for corrected and mask

#then fit tensors to make sure they were reasonable
dtifit -k data -o output_base -m mask -r bvec_yzswap -b bval
#screenshot for V1 over FA map

Screen Shot 2017-12-15 at 2.26.52 PM

#tracts with MRtrix
mrconvert dwi_corrected.nii.gz dwi.mif -fslgrad bvec_yzswap bval

dwi2response tournier dwi.mif response.txt

dwi2fod csd dwi.mif response.txt fod.mif
#whole brain tractogram
tckgen fod.mif whole_50M.tck -seed_image dwi_mask.mif -mask dwi_mask.mif -number 5M
tcksift whole_50M.tck fod.mif whole_10M.tck
#eg since the memory load is so intensive for the tractograms I started using ROIs instead. This is the ACC sift 25T.

Screen Shot 2017-12-15 at 2.30.36 PM

Thank you for your help in advance.
All the best,
Erica

Also these are the corrected bvecs:
0 1 0.361 -0.255 0.861 -0.307 -0.736 0.532 0.177 0.771 0.079 0.109 0.302 -0.464 -0.464 -0.529 -0.825 0.697 0.479 -0.213 -0.648 0.58 -0.729 0.963 0.229 -0.016 0.359 0.806 -0.045 -0.177 0.946 -0.318 -0.312 -0.284 -0.421 -0.963 -0.881 0.758 -0.684 0.932 -0.648 0.773 0.276 -0.555 0.007 0.919 -0.223 -0.544 0.867 0.534 -0.001 -0.611 0.691 0.731 0.024 0.453 0.432 -0.87 0.283 0.088 -0.016
0 0 0 0.785 0.21 0.564 0.677 0.774 0.195 0.615 -0.036 -0.376 -0.549 0.757 0.284 -0.849 -0.167 -0.657 -0.81 -0.48 -0.195 0.33 -0.656 0.054 0.831 -0.985 0.051 -0.415 0.995 -0.511 -0.068 -0.912 0.936 -0.938 0.902 0.271 0.444 0.471 0.121 0.281 0.719 -0.174 0.8 0.586 0.699 0.388 0.777 0.414 -0.145 0.639 -0.688 -0.027 -0.519 0.489 -0.925 0.615 0.376 0.399 -0.298 -0.915 0.265
0 0 0.933 0.565 -0.464 -0.766 0.013 0.343 0.965 0.163 -0.996 -0.92 -0.779 -0.46 0.839 0.014 -0.54 -0.287 -0.338 -0.851 0.736 0.745 0.197 -0.264 0.507 0.171 -0.932 -0.422 0.087 0.841 0.315 0.257 0.165 -0.2 -0.093 -0.02 0.161 -0.45 0.72 0.229 -0.252 0.61 -0.533 0.591 0.715 -0.07 -0.589 -0.73 -0.477 -0.554 0.726 -0.791 0.503 0.475 -0.38 0.646 -0.82 -0.289 0.912 0.393 -0.964

and data details:
shell: 0 800.011
shell count: 1 60
Dimensions: 128 x 82 x 128 x 61
Voxel size: 2 x 2 x 2 x 1
Data strides: [ -1 -3 2 4 ]
Format: MRtrix
Data type: 32 bit float (little endian)
Intensity scaling: offset = 0, multiplier = 1
Transform: 0.9935 0.09456 0.06279 -148.7
-0.06834 0.94 -0.3343 -59.48
-0.09063 0.3278 0.9404 -124.6
command_history: mrconvert “-fslgrad” “bvec_yz_xin” “bval” “dwi_brain.nii.gz” “dwi_brain.mif” (version=bb77205e)
comments: 5.0.10
dw_scheme: 0,0,0,0
[61 entries] -0.9935374066,0.06833873416,0.0906269221,800

-0.1820423219,-0.05754973373,-0.9813086269,800
0.1236892699,0.8164827763,0.5637675412,800
mrtrix_version: bb77205e

I had noticed the tracts were spurious and incorrect so I went back and discovered the y z bvec had been swapped when the bvec were configured.

How confident are you that this correction has been applied appropriately? I would suggest running the dwigradcheck script on your denoised & bias-field-corrected data with the original gradient table and see what it suggests. Also be wary that manual conversions between gradient table formats may introduce problems as your image header is not an identity matrix.


While I’m not familiar with equine neuroanatomy, the pattern of many green voxels in the anterior and blue voxels in the posterior is concerning to me. Showing all DWIs in a screenshot using mrview’s Lightbox mode may help. I don’t think there’s any point trying to generate tracks until this particular observation is investigated further.

Rob

Thank you Rob, this is incredibly helpful. I will update when I have tried your suggestions (hopefully) successfully.