Polysynaptic Tractography Advice

Hi all,

I am performing probabilistic tractography using MSMT-CSD to delineate a polysynaptic subcortical pathway that passes through multiple gray matter waypoints. My current approach uses -include_ordered with the relevant waypoints specified in the correct order. However, I consistently get zero streamlines reaching the final target ROI. On inspection, the streamlines appear to terminate at the penultimate waypoint and fail to propagate further to the target.

I came across this post: Using ACT in tracts that go through subcortical GM structures - #3 by rsmith, which suggests a possible workaround:

  1. Generate streamlines from the seed to the penultimate waypoint.
  2. Use tckmap -ends_only to generate a map of streamline termination points.
  3. Use this map to seed tractography for the final segment (e.g., penultimate waypoint → final target ROI).

I am considering adopting this approach, but I have some questions about how to handle streamline counts for interpretability:

Controlling streamline counts:
In my first tractography step (seed → waypoint 2), I calculate seeding attempts as (number of voxels in smallest seed mask) × 5,000. Suppose this yields 500 streamlines reaching waypoint 2. For the second step (waypoint 2 → target), seeding from the tckmap-derived map may produce more streamlines than the original 500, which would not make sense if I want the two steps to represent a single whole-tract reconstruction.

Possible solution:
One idea is to constrain the second tractography step to produce a maximum number of streamlines equal to the number generated in the first step (e.g., 500). But not all streamlines from waypoint 2 are expected to reach the target, some would terminate elsewhere. Would it be reasonable to allow only a fraction of the streamlines (e.g., 50%) to reach the target, or is there a better practice for controlling this and maintaining biologically meaningful streamline counts?

I’d appreciate any suggestions on how to best ensure the final tract remains a plausible reconstruction.

Thanks in advance!
Ranesh

Hi Ranesh

If your penultimate waypoint is within a sub-cortical GM structure, then I think the best way to describe the situation is not “terminating at the penultimate waypoint” (which could be interpreted differently given that there is a mechanism for ceasing streamline propagation upon reaching all include regions) so much as “impossible for a streamline to traverse all include regions due to ACT prior #6”.

Another factor to consider, if the underlying biological pathway truly involves synapses:
The imposition of minimal curvature may make sense where a streamline is intended to follow the trajectory of axons, but synapses satisfy no such geometry.
Attempting to reconstruct such pathways using a single streamline may therefore lead to false negatives.

This scenario was the main use case for which I invested the effort in implementing -seed_rejection. The logic was as follows. As a first pass, you could use tckmap -ends_only on the result of tracking one segment, determine some threshold to produce a mask, and then run tckgen using that mask as the seed. But doing so would remove the information about whether more streamlines reached certain areas of the intermediate ROI. By performing rejection sampling, voxels in which a lot of streamlines terminated in tracking of the first segment would yield a greater number of streamline seeds in tracking of the second segment. It wouldn’t yield strictly continuous streamlines between the two segments of the pathway, but it’d be a reasonable effort.

Re “controlling streamline counts” (or worse, “biologically meaningful streamline counts” ): I would encourage thinking more deeply about what you are trying to achieve. Let’s say, hypothetically, that you do this two-stage targeted tractography—deliberately skipping over the esoterics here—and you somehow end up with more streamlines in one tract of the pathway than the other. Precisely in what way would this be problematic? Streamline count is not a measure suitable for quantitative analysis. And even if you were wanting to impose quantitative tractography concepts, it’s not necessarily guaranteed that the connection densities of the two segments of that pathway should be identical.

I would suggest that all you really need is an adequate number of streamlines within each segment for the spatial extents of those tracts to manifest. Perhaps you might want a comparable number of streamlines within each of the two segments as this would be optimal for generation of visualisations. But any further interpretation of streamline counts goes down the quantitative tractography rabbit-hole, for which I would prefer to defer to published work rather than reiterate here.

If what you’d actually like to achieve (intentionally overlooking the possible justifications for such) is to have individual streamlines that follow the trajectory of the complete pathway, then it could probably be done with a little coding. I recently brought this PR up to date, which adds to tckgen options for seed points to be precisely at user-specified coordinates. You could:

  • Extract the endpoints of the streamlines from targeted tracking of the first pathway segment
  • Seed an adequate number of streamlines from each of those points for each to produce at least one streamlines that reconstructs the second segment of the pathway
  • Stitch together pairs of streamlines for which the first segment endpoint and the second segment seed point are identical.

I absolve myself of responsibility for any misinterpretation of such data, I’m only stating that it can be done.

Regards
Rob

Hi Robert

Thank you for such a detailed answer, it cleared up a lot of my questions. The tract we are attempting to reconstruct does involve multiple synapses, which then would make sense as to why we are failing to reconstruct it using our previous methods. I will explore how it turns out with the -seed_rejection flag, that seems like a better suggestion that would give an approximate “whole” tract.

Additionally, thank you for clarifying my misinterpretation of streamline counts, I will go through your quantitative tractography paper and better understand how to implement this for our intended use case.

Regards,
Ranesh