Along tract analysis after tract segmentation


Dear experts,

I am a relatively new user of MRtrix 3 and would be therefore highly thankful for your help and support: I performed automatized preprocessing (dwi2preproc etc.) and wholebrain-tractography (tckgen). Afterwards I segmented the cortico-spinal tract (CST) by using several inclusion and exclusion ROIs (tckedit) and thresholding (tckmap and tckedit). Now I have an indeed beautiful CST and would like to analyze FA, MD, RD and AD for a fixed number of segments along the tract (e.g. CST in 50 segments -> (weight) FA mean for each of these segments). Unfortunately, I have not found any solution in the manual nor in the forum. Therefore, I would be very thankful for an answer and your support …

Kind regards,

Tckresample and tcksample for along the tract statistics

Hi Frederike,

I think once you are happy with the created tracts, you should give a try to along-tract statistics software:

I think this will do exactly what are you looking for.




Just in case you want to use the MRtrix3 functionality here, the commands you’re after are tcksample and tckresample. These admittedly need to be better documented.

The process consists of first re-sampling the streamlines at equivalent locations along the tract of interest, by ‘cutting’ them up according to a set of uniformly-spaced planes. For example:

tckresample CST.tck -line 20 1,2,3 4,5,10 CST_samples.tck

will re-sample each of your CST.tck streamlines at 20 equivalent locations uniformly spaced between real-space positions 1,2,3 at one end and position 4,5,10 at the other. For more exotic tracks, you can also resample them along an arc of a circle, using the -arc option along with a mid-point for the arc (the arc will then pass through all 3 of your start, mid and end points, and the cut planes will be perpendicular to its tangent).

Once you’ve resampled your streamlines, you can use them to sample whichever scalar map you’re interested in, for example:

tcksample TCK_samples.tck fa.mif fa_values.txt

This will produce a text file with all sampled FA values for a given streamline in a row, each streamlines in its own row. You can then produce whatever plots you want or perform whatever analysis is required in Excel, Matlab, R, SPSS, etc.

Clearly there is no actual statistics produced by this process - all you get are the sampled values. This may be sufficient for your needs, but there’s a good chance that other packages provide more advanced, more powerful statistical analyses than this process would allow.


Hi, Manuel,

Your along-tract-stats is good, easy to use and compatible with R.

However, your along-tract-stats cannot read the tck file of Mrtrix. We need convert it to trk using the MRTrix2TrackVis function from Nipype, or write matlab code for the conversion.

But I think many people may reluctant to do so, as there is no guarantee the conversion is perfect or not (especially regarding the quantitative stats).

Will you add support to tck file of Mrtrix?


Hi Cirong Liu,

Sorry for the confusion, I would like to make clear that I’m not the developer, I knew the software and I write here the link because I thought that was appropriate for the topic. I don’t know if is in the plans of the developers or not.

Currently, I’m using it with the MRTrix2TrackVis function from Nipype.

Best regards,



Dear MRtrix3 team,

I am performing an along-tract-analysis on a segmented tract in .tck format by using MRtrix3’s commands tckresample and tcksample.
More specifically, I am following the procedure described in the previous post by means of the following examples:

tckresample CST.tck -line 20 1,2,3 4,5,10 CST_samples.tck


tcksample TCK_samples.tck fa.mif fa_values.txt

In my case, I would like to indicate the ‘start’ and ‘end’ coordinates required as argument by the -line option of the tckresample command in such a way that the resampling procedure covers the whole tract. In other words, I would like to perform my along-tract-analysis along all my tract (not just for a specific segment, e.g. not for an intermediate part of my tract).

I have extracted the coordinates of each streamline’s endpoints. Which would be the most reasonable approach to choose the coordinates to indicate as ‘start’ and ‘end’ for the -line option in this case?

Looking forward to know your opinion, thank you in advance for your attention.