Estimating the tract lengths in mm

Hi all,

I’ve run into trouble with tract length. Specifically, I’ve reconstructed with iFOD2 the cortico-cortical tract which connect the left and right motor regions in all of my subjects. I’ve attached one subject and it looks ok to me.


Now I would like to estimate the average of the tract length across the subjects. I’ve used tckstats and it worked well but unfortunately I got pretty much the same length for all my subjects (117mm more or less). I mean that all the numbers vary in the order of 0.1-0.2 mm which highly improbable in the real world. Do you have any tips?
Given that all the analysis has been run in the subject space, I was wondering whether if I should correct the average lengths for some kind of within subject variable (e.g. brain dimension).

Thanks in advance for all your help


Hi Davide,

Could you paste a screenshot of the tckstats output for at least two subjects? The max value tends to remain quite constant but it is odd that the mean length is that regular. Have you tried using the -dump flag to output the individual streamline lengths?

Also, perhaps show tract visualisations of two individuals? Even perhaps overlaid?


Hi Claude,

thanks for your response. Of course, please find attached the results of tckstats with -dump flag for 3 subjects

As you might notice, all the numbers are pretty much the same. Do you have any suggestions?

As for the visualisation, given that all the analysis had been run in the individual space I haven’t tried to overlap the tract



Using the -dump flag should have output a file containing the length of the individual streamlines, for what it’s worth have a look at them, load then in MATLAB or python and compute the mean yourself.

However, from the tckstats output it does seem that everything is working properly … It is odd however (I would expect that head size has a bigger effect then that) … Perhaps someone else has thoughts.

Did you collect these data yourself? or are you using some publicly available data?

I imported the file containing the length of the individual streamlines in MATLAB and compute the mean myself but the results are the same.

I agree, it seems that tckstats worked properly but of course the results are affected by some kind of variable that I’m not considering for the time being. I believe that it highly unlikely that all the subjects have pretty much the same tract length.

As for the data, I collected these data in my scanner

Please if you have any suggestions it would be highly appreciate

Thanks again


I’ve not actually experimented with such data as much as @cbajada. But instinctively the consistency does seem fishy.

If you’re comfortable with Git branch hopping, you could try re-analysing the data using the dev branch, which contains a bunch of revisions to streamlines length calculations (not only in tckstats but throughout the package).

Are you using a script of any kind to run equivalent commands across subjects? There hasn’t been any kind of mistake where data for the same subject has been used repeatedly?

I’ve used a script but I’ve also double check and everything (e.g. streamlines number, brain dimension etc.) is different for every subjects.

As for the tract length, I’ve also imported the tract files in MATLAB and computed everything by hand and I got the same issue.

I have no clue…I should probably re-analysing the data using the dev branch.

Any other suggestions is more than welcome


Make sure that you not only check the output but the script itself – i.e. that there are no mistakes in any loop…

Just for completeness could you paste two tracts side by side?

I really have no idea what could have gone wrong - I’d be interested to hear if the dev branch makes a difference.