Global tractography results are not good

Dear experts,

I’m using single-shell data to perform whole-brain tractography. I have tried three algorithm,SD_STREAM , iFOD2 and MSMT global tractography. But the streamline length got from global tractography is very short. I calculated the terminal map and the terminal of steamline diftrubuted throughout the brain.I think that’s not right.

The streamline obtained by golbal tractography algorithm and terminal map are shown in the figure below:

The tracks within a coronal slab of 2.5 mm and overlaid on b0 image.

Steamline obtained by global tractography was transformed to MNI space. Then the terminal map was calculated and overlaid on MNI T1 image.

The data was scanned on 3T scanner. There are 64 diffusion gradient directins with b-value=1000 and one unwighted volume. Voxel size is 2x2x3mm.
The scripts I used are as follows:

dwi2response dhollander  dwi.mif   wm_response_global.txt  gm_response_global.txt  csf_response_global.txt
tckglobal dwi.mif  wm_response_global.txt  -riso  csf_response_global.txt  -mask WM_mask.nii.gz  -niter 1e9 -lmax 10 -length 1 -weight 0.1 -ppot 0.05 -cpot 0.5  -fod fod_global.mif   -fiso fiso_global.mif   tract_global.tck

For global tractography, I used WM mask and ditch the GM response according to ThijsDhollander’s answer and all the parameter are default.

Am I using the right parameters? Or do I need to adjust the parameters?
In addition, I also performed whole-brain tractography with iFOD2 algorithm. I used ACT and SIFT during tracking. The results are better than global tractography. Whether the terminal map results are incorrect is related to the absence of ACT? Can ACT be used for global tractography?

iFOD2 tractography command and results are as follow:

tckgen  wm_fod.mif  -algorithm iFOD2  -act 5TT_2nodif.mif  -backtrack  -crop_at_gmwmi -seed_random_per_voxel WM_mask.nii.gz 25  iFOD2.tck  -output_seeds iFOD2_seeds

The tracks within a coronal slab of 2.5 mm and overlaid on b0 image.

Stay healthy and stay happy!
Many thanks!


Hi Xiao,

It’s not uncommon for global tractography to require some tweaking of parameters to get reasonable results. I’ll leave to @dchristiaens to make any particular suggestions (perhaps after ISMRM deadline).

I calculated the terminal map and the terminal of steamline distributed throughout the brain.I think that’s not right.

You’re correct in that it’s “not right”; where I think you may be misunderstood is in thinking that this is somehow specific to your data or usage, when in fact it’s a long-standing, under-reported dirty secret of almost all global tractography algorithms. There is internally an energy trade-off between wanting to join segments to form longer chains, and the inevitable poorer fit to the image data that results. Parameters can be modified and annealing strategies employed to mitigate it, but you’re unlikely to improve the issue by leaps and bounds.

The only method I would classify as genuinely “global” that addresses this issue is this one. It comes with its own assumptions and limitations, but it addresses the specific requirement of trajectories terminating in the GM.

Whether the terminal map results are incorrect is related to the absence of ACT?


Can ACT be used for global tractography?

There is no trivial “extension” of ACT to what I call “segment-wise” global tractography algorithms (the article linked above I refer to as the sole “fibre-wise” global tractography algorithm). These algorithms by design initially contain segments that terminate within the WM, and ACT by design operates in a strictly local step-wise fashion, so they are fundamentally incompatible.

If you re-express the question as “Can one use tissue segmentation information to constrain the final result of global tractography”, the article linked above is the only one I’m familiar with myself; to do this within a segment-wise global algorithm, while I think technically feasible, does not to my knowledge yet exist.


Thank you very for your reply , and learned a lot about global tracking from your reply.
By the way, I’m look forward to some other advice. @dchristiaens

Best wish for you!

Hi Xiao

I think Rob has already said the main point: global tractography can not trivially enforce anatomical constraints in the way that ACT does. It is therefore not surprising to find track endpoints in WM with global tractography. Streamline tractography without ACT would also lead to occasional track endpoints in WM.

The situation is exceptionally bad in your case because you are using single-shell data with a fairly low b-value to boot. Multi-shell multi-tissue GT is designed for multi-shell data, especially with default parameters. Using, as you have done, a WM + CSF response function pair is probably the best way to go in such data, but the result will always be sub-par to a certain degree.

You may be able to improve the results slightly if you raise the particle potential -ppot a bit (try e.g. 0.1) to increase the cost of adding a segment, and/or if you raise the connection potential -cpot (try e.g. 1) to increase the reward of connecting segments to one another.

Best regards