Tckgen options help


I have read the tckgen documentation (, but some of the options are still not very clear to me.

How do -step and -angle work. How does it affect the tractography output and how can I determine an appropriate value for my data/study?

Also -cutoff sets the FA or FOD amplitude cutoff, do values above it are removed/thresholded? If so, then what is the role of -power and -seed_cutoff.

Also how can I determine -seed_direction, wouldn’t a large direction value, result in an incorrect output ? Don’t different seed directions result in different tractography outputs ?


I guess these options are best described and explored in the 2012 MRtrix paper. Briefly:

  • a larger -step means more scope for overshoot (if using iFOD1) or slower performance (if using iFOD2 - the default). If the step size exceed the voxel size, you introduce the possibility of the algorithm skipping over entire voxels, which is definitely not recommended.

  • a larger angle allows tighter curvature, and eventually allows non-sensible outcomes such as streamlines doing U-turns and tracking back where they came from. A smaller angle prevents tight turns and means some tracts become harder/impossible to delineate reliably.

  • the cutoff essentially means any step that involves going below this value is considered to have zero probability - they are not considered as viable directions for the streamline to propagate along. I’m not sure what you mean by these `values … being removed/thresholded’ - the data remain unchanged, it’s just that the corresponding directions are not considered for tracking (?).

  • the role of -power is probably best explained in this recent post.

  • the seed cutoff allows for the imposition of a stricter cutoff threshold when initiating tracking. So the fODF amplitude at the seed point needs to be larger than would be allowed while propagating the streamline. This is probably not essential, but the main idea is to ensure seed points are less likely to start from noisy locations.

I’m not sure I get what you’re talking about here. The seed direction is a unit vector, its amplitude is not taken into account in any sense. There is no such thing as ‘a large direction value’ (?). it’s just a means of giving a hint to the algorithm about which direction you are interested in tracking - this comes in handy when seeding from regions that may contain crossing fibres. A good example of that is when trying to delineate the cingulum bundle, given the potential for interference from the corpus callosum if the ROI encompasses voxels at the boundary (which is frequently the case). By telling the algorithm to initiate in the AP direction, it’s possible to get a decent delineation of the cingulum from a single seed ROI, without also getting lots of callosal projections.

Yep, that’s the whole point… It’s there to allow you to guide the tractography, which you can also do using ROI placement, etc. Maybe you’re thinking in terms of whole-brain / connectomics analysis? In which case, this option is indeed not a good idea…