No, MRtrix3 tracking does not currently detect self-intersection. While I’ve thought about it in the past, I decided that it was too imprecise a mechanism: A streamline that just intersects a voxel it has already traversed would be excluded, whereas another streamline that follows almost exactly the same trajectory yet just misses those voxels already traversed would be retained.
If one were to instead pose the question:
- “How could I classify & detect streamlines that effectively loop back on themselves?”
, it becomes clear that something more sophisticated than just testing for voxel intersections is required. Exactly what form such a mechanism should take is left as an exercise for the reader