Header

Incorrect bmatrix calculation

Submitted by willi3by on
Category

Hi,

I recently acquired an old Varian dataset and am trying to import the data into TORTOISE for preprocessing. The Import works without error, however it seems the b-matrix is not being calculated correctly. The original bvecs are:

0.00    0.00    0.00
1.00    1.00    0.00
1.00    0.00    1.00
0.00    1.00    1.00
-1.00    1.00    0.00
-1.00    0.00    1.00
0.00    -1.00    1.00
0.00    0.00    0.00
-1.00    -1.00    0.00
-1.00    0.00    -1.00
0.00    -1.00    -1.00
1.00    -1.00    0.00
1.00    0.00    -1.00
0.00    1.00    -1.00

And bvals are:

0.00
605.46
605.46
605.46
605.46
605.46
605.46
0.00
605.46
605.46
605.46
605.46
605.46
605.46

After importing the data and using TORTOISEBmatrixToFSLBVecs, I get the following bvecs:

       0.000000         0.000000         0.000000  
       0.000000         0.707107         0.707107  
       0.000000         0.000000         0.000000  
      -0.577350         0.577350        -0.577350  
       0.707107         0.000000         0.707107  
      -0.000000         0.707107         0.707107  
      -0.577350         0.577350        -0.577350  
       0.000000         0.000000         0.000000  
       0.707107        -0.000000         0.707107  
       0.000000         0.000000         0.000000  
       0.577350         0.577350         0.577350  
       0.707107         0.707107         0.000000  
       0.707107         0.000000         0.707107  
       0.577350         0.577350         0.577350  

And the bvals are:

     0.000 
  1210.920 
     0.000 
  1816.380 
  1210.920 
  1210.920 
  1816.380 
     0.000 
  1210.920 
     0.000 
  1816.380 
  1210.920 
  1210.920 
  1816.380 

 

The only command I am running other than the b matrix conversion is:

ImportNIFTI -i 3204_dwi.nii -p vertical -v ../../bvecs.txt -b ../../bvals.txt

 

Is there a way to correctly import the bvecs and bvals? Any suggestion is greatly appreciated. I am using TORTOISE 3.1.4 on MacOS 11.5. 

 

Thanks

Submitted by irfanogl on Thu, 06/30/2022 - 11:08

Permalink

Hello,

 

Apologies for the late reply. We have had issues with our web server for a while so we didnt receive the question.

Unlike some of the other softwares, we do not scale the bvectors to unity internally. That is because we want to have another form of control over the Bmatrix.

 

Your bvecs are not unit vectors. Therefore, internally,  these would have an effect on the bvalues. If you are sure your bvals are correct, for instance, instead of:

1.00    1.00    0.00

you should have

1./sqrt(2)  1./sqrt(2) 0   

I mean each vector as unit.

That should do it.