The code to handle gradient table has been rewritten in Diffusion Toolkit 0.6 to make it more flexible. Now there are a few different ways to specify gradient table (NOTE: these changes only apply to DTI reconstruction for now):
- The old way. No b0 (0, 0, 0) vector included in the table. Program will assume all the b0’s are on top of the image list. You need to enter the number of b0’s correctly.
- Put b0 (0, 0, 0) vectors in the table, anywhere. Note once program detects there is b0 vector in the table, it will automatically count its number. You need to make sure the number and the position of each match the input data. For example, if your data has 2 b0’s at the top of the image list, you can not just put one b0 (0, 0, 0) vector at the top of the table, you need to put two in there.
- Put b values in the table. You can now put b values of each gradient vector in the table as the 4th component. A typical table will look like this:
0, 0, 0, 0 x1, y1, z1, 700 x2, y2, z2, 700 ... x10, y10, z10, 1500 x11, y11, z11, 1500 ...
You probably have noticed that b values can be different in the table. Thus, data set with b stepping can be reconstructed – something Diffusion Toolkit was not able to do before!
Please note that once you put b values in the gradient table, the b value you specified in the GUI will be ignored. Also, once you put one b value in, you must put every one in. Do not mix up 3 component vectors and 4 component vectors in the same table.
- The b-values-in-table feature will now allow reconstructing DSI data as DTI. But it would be painful to enter b value for every vector (515 of them!) in the table. That’s why a check box called “Multiple high b value” is created in the GUI. Once it is checked, even if there is no b value given in the table, program will assume the gradient vectors in this table are scaled (so it will not automatically normalize them). Given the maximum b value, it will automatically calculate the b value for each vector by its length (magnitude). For example, a DSI gradient table may look like the following:
0.2, 0.0, 0.0 ... 0.4, 0.0, 0.0 ... 0.6, 0.0, 0.0 ... 0.8, 0.0, 0.0 ... 1.0, 0.0, 0.0
If maximum b value is set as 10,000, the program will automatically compute the b values by the magnitude of each vector. So the b value for each vectors above will be 2,000, 4,000, 6,000, 8,000 and 10,000 respectively.
Remember Diffusion Toolkit’s main GUI is just a front end to wrap up the underneath command-line tools. The real handler of gradient tables is dti_recon command-line program. Click “Preview Scripts” button will show you what will be executed by dti_recon.
All the new changes on gradient table apply to DTI processing only.