Documentation‎ > ‎

Diffusion MRI Fiber Tracking in DSI Studio










Introduction

DSI Studio provides a deterministic fiber tracking algorithm that uses quantitative anisotropy to improve accuracy [4]. A recent study has shown that DSI Studio's tracking method achieved the highest valid connection among other fiber tracking approaches   (see the 92% valid connection achieved by ID:03 at http://www.tractometer.org/ismrm_2015_challenge/resultsamong 96 methods submitted from 20 different research groups in an open competition (paper see https://www.nature.com/articles/s41467-017-01285-x).

Other population fiber tracking methods include probabilistic fiber tracking. DSI Studio does not provide probabilistic fiber tracking, and FSL's probtrackx would be a better choice for  probabilistic approach.

The choice of a fiber tracking method (deterministic versus probabilistic) depends on the application. Deterministic fiber tracking is more like a "maximum likelihood estimation" of the fiber tracks. It tends to give the best estimation. In comparison, probabilistic fiber tracking provides the possible distribution of the fiber tracks. It gives a distribution, not just a single answer for each seeding point (but remember, there will only be one correct answer). If the purpose of a study is to find the most likely route of a fiber pathway, deterministic fiber tracking will offer a better result. If the purpose is to explore all possible connections between regions, probabilistic fiber tracking is better.

Several studies have used DSI Studio to generate so called "high-definition fiber tracking", which is essentially a combination of diffusion spectrum image (acquisition), generalized q-sampling imaging (reconstruction), and qa-aided deterministic fiber tracking.

Diffusion MRI fiber tracking

To run the tracking algorithm in DSI Studio, open the main window and click a button named "STEP3 Tractography". Select a ".fib" file to bring up the tracking window. To the left side, there is a region window presenting pixels with resolved directions in different color coding and background grayscale anisotropy map. To the right side, there is a visualization panel in the right upper corner to change the rendering options. At the bottom, there is a track bar to select slices and also a status bar showing the information at the current pixel.
 
The steps to create a tractography are as follows
1. Assign regions as seeding areas/region of interest/region of avoidance/ending regions.
2. Setup tracking options
3. Start tracking

The information for each process is detailed in the following sections.
 

Step1. Assign Regions

Manually draw a region

You can manually draw a region in the region window to the left. A tool bar on the top showing different drawing tool. To draw a region in the region window, left-click in the window and drag to create a new region. Any further click will add voxels to the existing region. To remove part of a region, right click to assign the region to be erased. 

The function of each tool is detailed as follows:
1. The rectangle tool draws a rectangular region.
2. The free-handle tool draws shape using the cursor trajectory.
3. The polygon tool draws a polygon region.
4. The ball bool draws a ball in the 3D space.
5. The cubic tool draws a cubic in the 3D space.
6. The all way cross tool allows for moving a region.
7. The ruler can be used to estimate the distance in mm. 

The region can be assigned as "seed","ROI","ROA",...etc. Please note that the region mentioned here are actually a set of voxels stored by their coordinates.

Load from atlases


DSI Studio provides a handy list of atlases that can be added to the region list. Users can add a known anatomy by click on the "atlas" button in the "Region List" window. The atlas is mapped to subject space by nonlinear registration between the anisotropy map and the atlas included in the DSI Studio package. 

The atlases include the following:

aal
Brodmann
FreeSurfer                  FreeSurfer segmentation applied to ICBM152 2009 T1W images
OASIS-TRT-20            OASIS-TRT-20 joint fusion atlas in MNI152 space. (source)
JHU-WhiteMatter-labels-1mm
sri24_tissues
sri24_tzo116plus

Customized atlases

DSI Studio allows users to add a new atlas. DSI Studio stores MNI space atlases and associated label files in the "atlas" folder under dsi studio executive (In the Mac version, they are store in the app package. Right click on the app to open package and look for Mac Content). The label file should be a text file recording the value and name pair (you may check out the existing files for an example). The file name should share the same base name as the nifti file. To add a new atlas, simply copy the atlas nii file and its label file to the atlas folder. After adding a new atlas, restart DSI Studio to see the new atlas added to the atlas menu.

Load from text coordinate files


DSI studio can load ROIs from a text file of the ROI coordinates. The coordinates should be integers (floating point will be rounded up) because the coordinates indicate the "voxel" of the seeding regions. Users should be noted that the actual seeding points are uniformly distributed "within" the seeding region. The coordinates here may not necessarily match the exact seeding points in the tracking algorithm.

Load from nifti files


An ROI file in the nifti format can be loaded in DSI Studio. The nifti file can be loaded by three different ways.

1. If the image size of the nifti matches the diffusion data, then no image resampling is applied. The image volume will be flipped in x-direction if the sform(0,0) is positive, and be flipped in y-direction if the sform(1,1) is positive. 

2. If the ROI file is originated from a native-space structural image (e.g. a FreeSurfer segmentation in T1-weighted or T2-weighted image space), then you need to first insert the original structural image (e.g. T1-weighted or T2-weighted images) by [Slices][Insert T1/T2]. DSI Studio will do a background registration, which may take 5 minutes to converge. After the registration is stabilized, load the ROI file (e.g. FreeSurfer segmentation file in subject space), and DSI Studio will automatically apply the registration from the previous structural image. The transformation matrix in the nifti header will not beused here.

3. If the nifti file is in the MNI space, use [Region][Load MNI Region] to import the region. A background nonlinear registration will be conducted that allows warpping the ROI to the subject space.

DSI Studio can take the nifti file with multiple values as multiple ROIs. You can supply a label file with the nifti file. An example of the label file can be found under the "atlas" folder in the DSI Studio package.

Save nifti files for FSL tracking


The region in DSI Studio can be saved in different resolution (e.g. ROI drawn in imported T1W). Also, there is a difference in the orientation convention between FSL and DSI Studio. As a result, the nifti file saved by DSI Studio may not be readily used by FSL protrackx. 

To handle this problem, the region needs to be converted to the diffusion space if it was first drawn in an imported image volume:

1. Load the FIB file and start a new region by [Region][New region] before inserting any T1W/T2W.
2. Load the DSI Studio ROI file and merge the region with the new region created in step1 using [Regions][Merge all]

Now the ROI will have the same resolution and dimension as the diffusion volume. The next step is to handle the orientation difference:

3. Flip image by X and Y using [Regions][Move region][Flip X] and [Flip Y]
4. Save the image as an nifti file using [Region][Save region as...]

The exported region now can be used in FSL.

Modifying regions


You may modify the region by a right lick on the region list window and expand the submenu under "modify current region." The modification includes shitting the region in x, y, or z-direction. Flip x, flip y, or flip z correct the orientation problem. There is also expansion function that expand the current region. Other functions include erosion, smoothing, negate, and defragment.

To perform ROI1+ROI2, use [Region][Merge all].

To perform ROI1-ROI2, first "negate" ROI1, and then merge negated ROI1 with ROI2, and then negate the merged regions.

Export quantitative index in the region


Once you draw an ROI or ROA, you may export the quantitative indices (e.g. FA, ADC, ...etc) inside the regions by selecting [Regions][Save Region Data As]. The exported information is a text file including the coordinates and the corresponding values for the indices

Region Types


There are several region types available to control fiber tracking

Seed

The tracking algorithm will place starting points within seeding "voxels" at subvoxel resolution. The actual seeding points are "uniformly distributed" within the seeding volume. For example, a seed voxel placed at (53,87,68) will have subvoxel seeding placed within (52.5~53.5, 86.5~87.5, 67.5~68.5). Within the voxel region (52.5~53.5, 86.5~87.5, 67.5~68.5), DSI Studio draws a point within the voxel range using a uniform distribution. The point is then used as the starting point within the selected voxel.

To edit the seeding area, press the left mouse button to assign the area. To erase, press right mouse button. 

Users can specify a seeding point file to override the subvoxel seeding routine and guide the tracking algorithm to start at specific points. To do this, in the tracking parameter, assign "Voxel Center" to the "Seed Position" item and assign "Primary" to the "Seed Orientation". A text file storing a list of point coordinates is needed. For example, to start racking at (53.42, 87.34, 68.43), (53.41, 87.32, 68.32), and (53.67, 87.21, 68.21), you need to have a text file with the following content:

5342 8734 6843
5341 8732 6832
5367 8721 6821
100 -1 -1

Please note that the coordinates are scaled by 100. The largest number accepted is 32767. The number of points will determine the number of tracks generated (In tracking parameters, please make sure that "Terminat if" has a number larger than your point count). 

Open this seed point text file in [Regions][Open region] and change its region type from "ROI" to "Seed". Click "Fiber Tracking" button to start fiber tracking at these points.

Randomize Seeding


If "randomize seeding" is off (default setting), DSI Studio will use a "constant" random generator to place the seeds. This means that the seeding sequence will be "deterministic", and each tracking round will generate identical results even though the seeding location is randomly chosen from the seeding regions. This setting ensures that the tracking result is exactly reproducible using the same tracking parameters. 

If "randomize seeding" is on, DSI Studio will use a time variable to initiate the random generate, and the tracking result will be different for every repeated round.

This randomization setting also affects the random selection of "anisotropy threshold", "step size", and "angular threshold". In other words, if "randomize seeding" is off, all random generator will be deterministically-random.

Region of interest (ROI) & region of avoidance (ROA)


Once a new region is added, there will be an item appeared on the region list, where you may find a combo box (labeled "ROI") with a drop menu that can switch the "type" of the region.

ROI is used to "filter in" the tracks that pass through the region, whereas ROAs "filter out" the tracks. Multiple ROI and ROA could be used in combination to fulfill a complicated tracking demand. For example, if there are two ROIs, the tracks that pass through
both of the regions are selected.

*Text file, Analyze, and NIFTI format are supported for input seeding, ROI, or ROA.


End region & terminative region


An "End" region selects tracts that are ended (not passing) in the "end" region. If one ending region is assigned, then only the tracks ended within the regions are preserved. If two end regions are assigned, then the tracks ended in both regions are preserved. Please note that the "end" region, unlike the terminative region, does not affect the termination of the tracking algorithm. It simply selects the tracts that end in it.

A terminative region terminates any tracts as soon as they enter it. It change the behavior of a tracking algorithm and force tracking to terminate. A terminative region is useful if one is to study the tracts that project to a nucleus or a specific cortical area. A terminative region does not allow tract to pass through it, which is very different from an "end" region.

A terminative region can be used to terminate a track if the anisotropy level is greater than a threshold. The steps are the following: (1) In the options window, set the anisotropy threshold to the maximum value (2) click on [Region][Whole Brain seeding]. This creates a region with FA greater than the threshold (3) Change the region type to "terminative" (4) Setting the Fanisotropy threshold back to the minimum value (5) Do fiber tracking.



Step2. Setup Tracking Parameters



Anisotropy threshold

This parameter determines the threshold for fiber termination. In DTI, FA is used as the index for the filter to determine the fiber threshold. In DSI, QBI, GQI, the fiber threshold is based on the quantitative anisotropy (QA), which is defined for each resolved fiber orientation. The definition of QA is documented in the GQI paper [3].

It is noteworthy that the anisotropy threshold is used as a mask to filter out background voxel. As a result, the estimated along track FA/QA index estimated will be affected by the fiber threshold.

The initial value of this threshold is determined automatically using 0.6 * (Otsu's threshold). Otsu's method calculates the optimal separation threshold that maximizes the variance between the background and foreground. 

If a threshold of 0 is assigned, DSI Studio will use a randomly selected threshold from [0.5 Otsu, 0.7 Otsu].

Max angle

This threshold serves as a termination criterion. If two consecutive moving directions have crossing angle above this threshold, the tracking will be terminated.

Assign 0 to do a random selection from 15 degrees to 90 degrees.

Step size

Step size defines the moving distance in each tracking interval. This unit is in millimeter scale. The default setting is the half of the spatial resolution.

Assign 0 to do a random selection of the step size from 0.5 voxel to 1.5 voxel distance.

Smoothing

Smoothing serves like a "momentum". For example, if smoothing is 0, the propagation direction is independent of the previous incoming direction. If the smoothing is 0.5, each moving direction remains 50% of the "momentum", which is the previous propagation vector. This function makes the tracks appeared smoother. In implementation detail, there is a weighting sum on every two consecutive moving directions. For smoothing value 0.2, each subsequent direction has 0.2 weighting contributed from the previous moving direction and 0.8 contributed from the income direction. To disable smoothing set its value to 0.

Assign 1.0 to do a random selection of the value from 0% to 95%.

Min and Max Length Constraint

Length Constraint filters out the tracks that are either too short or too long.

Topology-Informed Pruning (TIP) iterations

Setting it to 1 or 2 to remove false connections using TIP method (Yeh Neurotherapeutics 2018)[5].

Primary orientation versus all orientations 

Specify the starting orientation of the seeds. "Primary orientation" starts the tracking from the primary fiber of a seeding point, whereas "all orientation" may start from a branching fiber.

The "primary" approach always starts the tracking from then most prominent fiber in a voxel. The advantage of "primary" is the stableness and consistency of the results. However, it is possible that the tracks that you are interested in are minor branches and may not be successfully tracked using "primary" setting. A way to compensate for this drawback is using whole brain seeding to explore all possible connections.

The "random" approach starts the tracking a randomly selected fiber orientation, so the results have random factor. The advantage is that "random" can explore all possibility, but the drawback is that the results may not be reproduced exactly. The tracking results are also sensitive to noisy fibers because the a false fiber orientation can be selected as the starting direction.

The "all" approach starts a track for each fiber orientation resolved in a voxel. It aims to explore all possible connection and there are no stochastic factors that may hurt the reproducibility. The drawback is that "all" setting is sensitive to noisy fibers because all resolved fiber orientations will be used as the starting directions.

Subvoxel versus voxel

Specify the seeding strategy. "Subvoxel" conducts subvoxel seeding and each seed voxel may have infinite seeding locations within the voxel. "Voxel" places the seeding location at the center of a seed voxel.

Interpolation

The interpolation method used in estimating the fiber orientation.

Tracking Method

The deterministic fiber tracking method [4] is the default method for fiber tracking. Runge-Kutta method[1] is a higher order tracking method similar to the default Euler approach. 


5000 Tracts v.s. 5000 Seeds

This tracking plan determines when the tracking should stop. The default options are seeding until the total amount of fibers reaches the assigned number. Another option is to have a fixed number of seeds placed in the seeding area. One should note that the generated fibers may be less than the seeds because 
some fibers will be discarded due to length constraint, ROI, ROA, and End point settings.

Thread Count

DSI Studio supports multithread fiber tracking, which can boost the performance on a computer with multiple core CPU. Assign the thread count in accord with the possible computation power to obtain the highest efficiency. 


Check ending

It checks whether the tracking terminates with a location that has anisotropy higher than the threshold. If yes, the fiber is probably terminated in the white matter and will be removed.

Step3. Perform fiber tracking and save tract coordinates

Click the start tracking button to perform tracking, and input the tract count or the seeding number. The fiber trajectories can be saved using [Tracts][Save Tracts As]. One should note that [Tracts][Save Tracts As] saves only the current selected fiber bundles. To save tracts of different clusters at one, use [Tracts][Save All Tracts As...].

DSI Studio saves tracks in the native diffusion voxel space rotated to "LPS". The coordinates are voxel coordinates started from (0,0,0) at the most left/anterior/bottom point of the image volume. The orientation is (+right,+posterior, +top). For example, (1,2,3) = [the left most 1st voxel, the most anterior second voxel, the bottom 3rd voxel].


The supported file formats include TracVis's TRK format (default), a text file format, or a MATLAB MAT V4 format: 

TrackVis TRK format


The specification for the TRK format is detailed on the TrackVis website. DSI Studio will always output TRK file in LPS convention.

Text trajectory format

The output format can be a text file that stores the coordinates of each fiber track. The coordinates of each fiber trajectory are stored in one line. The x y z coordinates are list sequentially:

x1 y1 z1 x2 y2 z2 ... xn yn zn               <---first tract
x1 y1 z1 x2 y2 z2 ... xn yn zn               <---second
...
...

MATLAB MAT V4 Format


The trajectories can be saved as a Matlab MAT version 4 format. The coordinates of all tracts are stored in a matrix named "tracts". The numbers of coordinates for each fiber are stored in a matrix named "length". The coordinates of the first trajectory are stored in tracts(:,1:length(1)), and the second in tracts(:,length(1)+1,length(1)+length(2)).

To save the tracts data in MAT version 4 format. Use the command save tract.mat -v4

Save Tracks in Native Space

The QSDR reconstructed FIB files allow for tracking in the template space. To save the tracks back to the native space, in step2 reconstruction, you may need to check "Spatial mapping" in the advance option before QSDR reconstruction. This will ensure an output of spatial mapping to the FIB file that allows converting tracks back to the native space.

Once a track is generated in the QSDR FIB file, use [Tracts][Save Tracts][Save Tracts in Native Space] to convert track coordinates to the native diffusion space.

Tips and Examples: 


1. Use "whole brain seeding" always. DSI Studio will assign whole brain seeding if you do not specify a seed region. Please note that the tracking algorithm starts from the seeding point and track in two directions until it reaches the ending points. In most of the cases, the seeding point is not the end points of the trajectory.

2. To track trajectories connecting between two brain regions, place two "end" regions, one on each of them. DSI Studio will find the trajectories that end in these two regions. 

3. An "end" region is more restrictive than a "roi". A "roi" allows tracks to pass through, whereas the end region requires that the trajectories end in them. If you cannot find connections using two end regions, try setting them as roi.

4. To force track to terminate if the anisotropy threshold is "greater" than a value. First, set up the threshold to the designated value and place whole brain seed by [Regions][Whole Brain Seeding]. In the region list window, change the region type from "Seed" to "Terminative". This will enforce a termination if tracks enter the region. Adjust the threshold to a lower value to initiate fiber tracking. 


Shortcuts and Controls


In the ROI window:


Key "Q" and "A": move sagittal slide
Key "W" and "S": move coronal slide
Key "E" and "D": move axial slide
Key "Z": switch to sagittal view
Key "X": switch to coronal view
Key "C": switch to axial view

Double click: move slices to the pointed location

In the 3D window


Mouse left button: press and rotate the object
Mouse right button: press and change the zoom scale
Mouse mid button: press and move the object (you may also use direction keys to move the object)

Ctrl+A: move ROI or slides in the 3D window (drag)

Alt+1: remember the current viewport and slice position to memory slot 1
1: return to the viewport and slice position recorded in memory slot 1

The same function applies to Alt+2,...Alt+9, and 2,3,...9

Track editing

The following four shortcuts are for tract editing. To edit the tracts, 1) hit the shortcut 2) press left mouse button 3) drag the cursor 4) release the mouse button. If the track selection further considers the income angle, use right mouse button instead. (please refer to here for details)

Ctrl+S: select tracts in the 3D window 
Ctrl+D: delete tracts in the 3D window
Ctrl+P: delete tracts in the 3D window
Ctrl+X: cut tracts in the 3D window (click-drag-release)(cannot undo)


Ctrl+T: trim tracts
Ctrl+Z: undo select and delete
Ctrl+Y: redo select and delete

Program Registry


The parameters are stored in the following directory:

On Unix systems, the following files are used by default:

$HOME/.config/DSI Studio.conf
/etc/xdg/DSI Studio.conf

On Mac OS X versions 10.2 and 10.3, these files are used by default:
$HOME/Library/Preferences/com.labsolver.DSI Studio.plist
On Windows, settings are stored in the following registry paths:
HKEY_CURRENT_USER\Software\Labsolver\DSI Studio


Reference

[1] Basser, P.J., Pajevic, S., Pierpaoli, C., Duda, J., Aldroubi, A., 2000. In vivo fiber tractography using DT-MRI data. Magn Reson Med 44, 625-632.
[2] Wedeen, V.J., Wang, R.P., Schmahmann, J.D., Benner, T., Tseng, W.Y., Dai, G., Pandya, D.N., Hagmann, P., D'Arceuil, H., de Crespigny, A.J., 2008. Diffusion spectrum magnetic resonance imaging (DSI) tractography of crossing fibers. Neuroimage 41, 1267-1277.
[3] Yeh FC, Wedeen VJ, Tseng WY. Generalized q-sampling imaging. IEEE Trans Med Imaging 2010;29:1626-1635.
[4] F.-C. Yeh, T. D. Verstynen, Y. Wang, J. C. Fernández-Miranda, and W-Y. I. Tseng, "Deterministic Diffusion Fiber Tracking Improved By Quantitative Anisotropy", PLoS ONE 8(11): e80713. doi:10.1371/journal.pone.0080713 (pdf)
[5] Yeh, F. C., Panesar, S., Barrios, J., Fernandes, D., Abhinav, K., Meola, A., & Fernandez-Miranda, J. C. (2018). Improved Accuracy of Diffusion MRI Tractography Using Topology-Informed Pruning (TIP). Neurotherapeutics .
Comments