Step T3 Whole Brain Fiber Tracking
Open the main window and click a button named [Step T3: Fiber Tracking] to select a FIB file generated from Step T1-T2. DSI Studio will bring up the tracking window.
Click on [Step T3d: Tracts][Fiber Tracking] to get whole brain fiber tracks.
DSI Studio will seed the whole brain region and perform fiber tracking. If successful, you will see whole-brain tractography:
- No tract showing up: reduce [Step T3c: Options][Tracking Parameters][Min Length]
- Too many fragments: increase [Step T3c: Options][Tracking Parameters][Min Length]
- Tracts do not reach cortex: reduce [Step T3c: Options][Tracking Parameters][Tracking Threshold]
- Tracts appear odd or noisy: increase [Step T3c: Options][Tracking Parameters][Tracking Threshold]. Also could be due to acquisition problem, distortion, or reconstruction error. Please refer to the troubleshooting sections at Step T2.
Examples of poor-quality whole-brain tractography:
[Tracking Threshold] is too low (left) or too high (right).
To get the best quality of whole brain tractography, you may need to change [Step T3c: Options][Tracking Parameters], including [Tracking Threshold] (The default is
0 which is a randomized value around 0.6 otsu thresholds), [Min Length], [Terminate if] to get better results.
The details of each parameter:
||Choose which metric to use as the termination threshold. 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 .|
||This parameter determines the threshold for terminating fiber tracking. If a threshold of 0 is assigned, DSI Studio will use a randomly selected threshold from 0.5 and 0.7 of Otsu’s threshold. Otsu’s method calculates the optimal separation threshold that maximizes the variance between the background and foreground.
If you input a non-zero value and switch between different tracking indexes, the value will be automatically determined using 0.6 of Otsu’s threshold.
The general principle for choosing the threshold is to select the lowest value that has acceptable spurious fibers.
||This threshold (in degrees) serves as a termination criterion. If two consecutive moving directions have a crossing angle above this threshold, the tracking will be terminated.
||Step size defines the moving distance in each tracking iteration. This unit is in millimeter-scale. The default value
||Length constraint that filters out the tracks that are either too short|
||Length constraint that filters out the tracks that are either too long|
||The total number of
|Topology-Informed Pruning (TIP)||16||Number of iteration for removing false connections using the TIP method (Yeh Neurotherapeutics 2018) Used in automatic fiber tracking. Used in autotrack|
|Autotrack tolerance (mm)||16||The distance tolerance for track recognition. A larger number results in more results but increases the chance of false findings autotrack|
||The fiber tracking algorithm used for deterministic fiber tracking.
Runge-Kutta method is a higher-order tracking method similar to the default Euler approach.
||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 appear 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 weightings 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%.
||The interpolation method used in estimating the fiber orientation.|
||Specify the starting orientation of the seeds. The
||Specify the seeding strategy.
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 generators will be deterministically-random.
|Thread Count||half of the system thread||DSI Studio supports multithread fiber tracking, which can boost the performance on a computer with multiple core CPUs. Assign the thread count in accord with the possible computation power to obtain the highest efficiency.|
Connectivity Matrix and Network Measures (Optional)
To generate connectivity matrix, open connectivity matrix dialog at the top menu: [Tracts][Connectivity matrix]. DSI Studio will conduct a spatial normalization to ensure that the built-in parcellation is registered with the subject data.
Here are some tips for getting a good connectivity matrix:
- Increase [Step T3c: Options][Tracking Parameters][Terminate if] to a least 1,000,000.
- Carefully choose the parcellation atlas and decide whether to include subcortical regions.
- Avoid using a white matter atlas as the parcellation (e.g., HCP842/HCP1065 tractography atlas, JHU white matter atlas)
There are parameters for calculating the connectivity matrix:
|Parcellation Atlas||DSI Studio provides built-in atlases as the brain parcellation.
You can also customize your own parcellation. If the map is in the MNI space, you may place the map NIFTI file in the /atlas/ICBM152 subfolder under DSI Studio package (In Mac, you may need to open the dsi_studio.app package to see the folder). The ROIs will be included in the atlas database for you to calculate the connectivity matrix.
If your ROIs are in the native space, you can load the NIFTI file in the region list using [Regions][Open Region] and then check all ROIs using [Regions][Check all]. Once the ROIs are loaded in the region, you can bring up the connectivity windows by [Tracts][Connectivity matrix].
You can also combine parcellations from built-in atlases at [Step T3a: Assign Regions]
|pass region vs end in region||Determine whether the connecting track is counted by
|value||The connectivity matrix can be calculated by accounting for the number of tracts that pass two ROIs (select “count” as matrix value). This number can be normalized by the median length (select “ncount” as matrix value) or multiplied by the sum of the inverse of the length (select “ncount2”).
The FA, QA, or ADC sampled by the tracks can also be used as the matrix entry (e.g. select “fa”, “qa”, or “adc” as the matrix value). There is a drop-down list in the connectivity window. One is “end in region”, which counts only the final connecting region. Another one is “pass region”, which counts all the regions passed.
|threshold||The threshold is used to filter out matrix entries with a small number of connecting tracks. It is a ratio to the maximum connecting tracks in the connectivity matrix.|
The calculated matrix can be exported as a mat file or a figure. In the mat file, the connectivity matrix is stored as an n-by-n connectivity matrix, whereas the region labels are stored in the name matrix. To recover the list of the region labels, use the following command in Matlab
labels = textscan(char(name),'%s');
Here’s the python code for getting the labels:
from scipy.io.matlab import loadmat m = loadmat("connectivity.mat") names = "".join(m["name"].view("S4")[``0]).split("\n")
Network measures will be calculated and listed in the second tab for further analysis (group comparison, regression…etc.)
Graph theoretical analysis views brain connections as a *graph *and applied graph-based measures to analyze it. A graph is defined as a set of nodes or vertices and the edges or lines between them. Its topology can be quantitatively described by a wide variety of measures, including network characteristic path length, clustering coefficient, global efficiency, and local efficiency.
The network measures in DSI Studio follow the implementation of the brain connectivity toolbox (https://sites.google.com/site/bctnet/). The explanation of the network measures can be found here. You may also refer to Bullmore, E. and O. Sporns (2009). “Complex brain networks: graph theoretical analysis of structural and functional systems.” Nat Rev Neurosci 10(3): 186-198. for details.
For binary measures, the connectivity matrix will be thresholded by a track count in proportional to the max count in the connectivity matrix to make it binary. For example, if the largest count in the connectivity matrix is 100,000 and the threshold is 0.01, then an entry with at least 1,000 track count will be set to 1, and any value fewer will be zeroed.
For weighted measures, the connectivity matrix will be normalized so that the maximum value of the matrix is one.
After getting the network measures in the text file, you may use python scripts to extract information. e.g., https://github.com/frankyeh/DSI-Studio/issues/61
DSI Studio provides a 3D graph presentation to visualize the graph structure. There are two ways to present this graph
Approach1: using MAT file generated from DSI Studio
Save the connectivity matrix from the connectivity dialog using the “save matrix” button. The output will be a MATLAB mat file.
Back to the fiber tracking window, on the top menu, use [View][Visualize Graph] to load the connectivity matrix mat file.
Approach2: using customized MAT file or Text file with user-defined regions
In [step T3 Fiber tracking], load regions using [Region][Open Region]. If your matrix is 100 by 100, then there should be 100 regions.
Prepare connectivity matrix in a text file (space-separated or tab-separated values) or a mat file (use -v4 to save the mat file, and the matrix should be named “connectivity”)
Load the matrix using [View][Visualize Graph]
TIP: You can assign positive and negative values to the matrix, DSI Studio will show them in red and blue colors.
TIP: There are rendering options for graph under [Step T3c: Option][Region Rendering]
To create the connectogram, in the connectivity dialog, click on the button named “save connectogram” and save a text file. Open the website: http://mkweb.bcgsc.ca/tableviewer/visualize/. In “2A. UPLOAD YOUR FILE”, choose the text file and check “col with row size” and “row with col size” (see below). Click on visualize table to get the connectogram figure.