Archive for the ‘Software Usage’ Category

What’s new in Diffusion Toolkit 0.6 – More flexible gradient table

March 16th, 2010 at 4:49 pm | by Ruopeng

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.

What’s new in Diffusion Toolkit 0.6 – track_merge

March 15th, 2010 at 11:52 pm | by Ruopeng

Diffusion Toolkit 0.6 includes a new command-line tool called track_merge, which merges multiple track files into one so that one can view them in TrackVis at the same time. Usage is quite simple:

track_merge file1 file2 ... fileN output_file

Requirement for this to work is obvious: all the input track files must have the same geometry information in the header.

A nice thing track_merge does behind the scene is when it merges multiple track files, it does not simply add them. An id type property tag is added to each track in the newly merged file, with each unique id representing where the track was originally from. When the merged file is loaded in TrackVis, a property filter will show up in Track Property panel. Users can adjust that to distinguish and sub-group tracks by its id (origin).