Dump track label assignments?

I’d like to compute histograms of track lengths per label pair, particularly to check if the average track length per label pair as reported by tck2connectome is a good approximation of the distribution. Because we use these track lengths in simulation to derive transmission delay values, we are concerned about multimodal distributions of track lengths.

I’ve seen that I can dump per-track length with tckstats, but I’d like to obtain as well a start/end label id per track. Is there a straightforward way of doing this?

I’d like to thank you sincerely for posing the easiest support question to answer I’ve ever received! :raised_hands:

tck2connectome -out_assignments will give you exactly what you’re looking for.

Alternatively, you can jump straight to having a unique track file for every connectome edge using connectome2tck.

I intend to implement a median length metric at some point; but definitely let me know if you observe any distribution variances suggesting that this may still not be adequate (over and above false positive pathways having significantly greater length than the rest of the streamlines in that edge).

Rob

Ah, it was in the --help, I need to rtfm… tck2connectome -out_assignments is perfect.These are the distributions for connectome edges having >100 tracks. 88 regions, 500k tracks post-SIFT:


I don’t see any particularly multimodal distributions, but I will rerun tckgen with a much higher count to double check.

On the other hand, I do see signficantly non-Gaussian distributions, particularly left leaning, so may I suggest some interquartile metric to complement median, instead of mean/variance?

Thanks again for the help! (I’m glad my question was easy:) )

1 Like

Yes 500k is a little low, would definitely be curious to see those distributions with bigger numbers.

Perhaps a slightly wider question, for anyone interested in transmission delays / neuronal mass models etc.: How flexible are these models in handling anything more than a single scalar value? Would inter-quartile ranges be of use over and above the median length, or would you just make use of the full length distributions in this type of scenario? (Just trying to assess what dev work is worthwhile)

At 5M we see some fairly wide distributions: here’s an example with just 5 edges


Here each curve is a kernel density estimate with at least 1000 tracks per edge.

Re: models, the delay state are computed using individual delay values, so an interquartile range would be mainly useful to know how bad the point approximation is. On the other hand, estimating the full distribution is not much effort (at least in Python), and we can convolve the full distribution with the delayed activity to get a realistic effect. We’ll probably do a few simulations to assess the impact.

Those are very wide… With large-volume nodes and moderately close nodes (which tend to have high connection density) there’s more flexibility for variability in WM lengths, but I still didn’t expect that much. Was this using ACT?

Re: models, the delay state are computed using individual delay values, so an interquartile range would be mainly useful to know how bad the point approximation is. On the other hand, estimating the full distribution is not much effort (at least in Python), and we can convolve the full distribution with the delayed activity to get a realistic effect. We’ll probably do a few simulations to assess the impact.

I’ll definitely implement the median length connectome contrast at some point; but given how easy these distributions are to access, I tend to think that also implementing the inter-quartile ranges would be a waste of time, given how clumsy and awkward it would be to interface.

Yes with ACT, though I intentionally picked the 5 worst and the 88 ROIs include, e.g., FreeSurfer’s occipital lobe which is huge. I expect this to be a source of wide distribution. I’m constructing some subdivided parcellations, as I expect these distributions to shrink as parcel size decreases.