I’ve thought about including this a few times: my first PhD project was on streamlines clustering, and producing cluster exemplars from the constituent streamlines was one of the requirements.

One of the difficulties with providing an uncontrolled interface like this for calculating exemplars is that if there’s very little dispersion between the streamlines, a naive point-averaging algorithm will produce something reasonable, but if the underlying streamlines are even slightly dispersed from one another, you need a much more clever algorithm to get a representative exemplar; otherwise the results can be quite unusual. Indeed there are cases where even just determining whether or not one streamline is in reverse order can be non-trivial.

But currently there’s no such feature in MRtrix.

I do have vague recollection of an ISMRM talk that included demonstration of an exemplar calculation method… something about optimizing both the exemplar position and tangent relative to the surrounding streamlines… does this ring a bell for anyone else? My abstract search came up empty.

Thanks for the update Robert. Yeah clustering tracts (anything in general) is not a trivial problem but I was just wondering if you guys had super awesome heuristics figured out, just based on your intense experience in these things. Anyways for now I will cook up some heuristics for my specific purposes using your amazing tckedit, tckstats, tckinfo etc.