sina-mansour / UKB-connectomics

This repository will host scripts used to map structural and functional brain connectivity matrices for the UK biobank dataset.
https://www.biorxiv.org/content/10.1101/2023.03.10.532036v1
62 stars 7 forks source link

Tractography along subcortex #8

Closed sina-mansour closed 2 years ago

sina-mansour commented 2 years ago

Following on the suggestion by @Lestropie (this commit):

RS: This approach had a specific motivation in the high-resolution connectome project, being that you did not want streamlines entering the sub-cortical grey matter structures to be forced to terminate within that structure, due to an inability to utilise those structures for connectome construction. For this project however I don't think that's the right way to go. If, instead of deriving a mask from the ACT 5TT image, you simply use ACT out of the box, then this will intrinsically achieve what you are trying to do here (preventing streamline vertices from being generated beyond the extent of this mask), but with additional benefits (preventing streamlines from passing through sub-cortical GM, which is a constraint we do want in this case; use of back-tracking if you want it; and unlike the use of a binary mask, ACT will perform interpolation on the 5TT image, which means that the tissue isocontours will include 45-degree edges rather than having purely 90-degree edges on the voxel grid).

sina-mansour commented 2 years ago

Hi Rob,

I agree that adding ACT is the better way to go for streamlines ending in the sub-cortex. However, I originally had another reason for using this approach that is: letting streamlines pass through the subcortex. As the subcortex is known to act as a relay station, it's possible that a streamline starts somewhere on the cortical surface, passes through the subcortex, and finally lands on another cortical region. If ACT is performed, however, this streamline is forced to terminate in subcortical GM before reaching its final destination in another cortical GM region. This is mainly due to the 6th constraint mentioned in the ACT paper presented in the image below:

image

Do you reckon it would be possible to either explicitly remove this constraint or enforce this 6th constraint only if the streamline ends in WM after passing through the subcortex? Basically, is there a way to modify the current ACT code, such that:

  1. if a streamline starts from cortical GM, traverses through the subcortex, and ends in WM: it's truncated to the subcortical region at the point of minimum FA.
  2. but if the streamline passes through the subcortex and ends in another cortical region, it's accepted without truncation. Do you think this would be possible?
Lestropie commented 2 years ago

This really gets at the question of whether or not criterion 6 is biologically appropriate. I admit my confidence on it wasn't 100%, but it made the most sense to me.

Take for instance your example where a streamline passes from cortical GM A, through the sub-cortex B, and terminates at cortical GM C. At the point of connectome construction, the fact that B acted as a relay for the connection between A and C is lost. My logic was that if you take that complete streamline, and truncate it within B (such that it connects from A to B), there will at some point be another streamline generated that reconstructs the rest of that streamline trajectory beyond the truncation point, therefore connecting B and C. Your eventual connectome representation will therefore be a little more faithful to the fact that B acts as a relay between A and C. It's not actually that specific, in that it only says that "A is connected to B" and "B is connected to C" and does not attempt to infer any specificity of that relaying (i.e. as opposed to e.g. B relaying a connection between A and D), but in your example it's as though B doesn't exist.

One could try to make the argument that what you really want is a single streamline between A and C that passes through B, and during connectome construction that streamline should contribute to both the A-B and B-C connections (and potentially A-C as well). This however relies on a couple of assumptions. Firstly, that only one sub-cortical region is traversed; I'm not confident about a streamline passing through multiple sub-cortical regions being anything other than artifact. Secondly, it assumes that when the sub-cortex acts as a relay for cortico-cortical connections, the two separate neuronal axons projecting from that synapse are in antipodal orientations, which personally I doubt to be a good assumption. The way I've wanted to do this in the past is to look at those streamlines terminating within each sub-cortical structure, look at the Euclidean distances between their termination points, and contribute to the various edges of the connectome to which those nearby streamlines are assigned based on those distances. But I think that at the time I couldn't figure out a robustly justifiable way of doing it.


As far as implementation is concerned, the easiest thing would be to specifically disable prior 6. Possibly all it requires is changing this line to return CONTINUE;, but you'll need to test it. Wrapping up that capability in a command-line option is another thing, but for the sake of comparing outcomes you can just modify and recompile.

This won't be precisely equivalent to what you describe. If a streamline passes through sub-cortical GM and back into WM, then if it encounters some termination within WM, that will be considered an inappropriate termination as per prior 4, at which point the streamline is either rejected or back-tracking is engaged if active. The information that the streamline had previously passed through sub-cortical GM would be lost. While theoretically the behaviour precisely as you described it could be achieved, I'm not convinced that the effort to do so would be justified; it would necessitate quite a lot of customised handling for something that is antithetical to the way the ACT paradigm is otherwise constructed.

caioseguin commented 2 years ago

In the scenario Rob presented, if the streamline starts from cortical GM A, tracks through high-FA voxels in subcortical region B and reaches cortical GM C, one could argue that B does not act as a "computing station" that would alter a signal being transmitted between A and C. My intuition is that this scenario is better represented by a connection between A and C in the connectome. I agree that the information that this connection has a relay in B is lost, but I find it more accurate than adding A-B and B-C connections. So in the end I favour the idea of letting streamline track through the subcortex if FA is high enough.

That said, I am really not sure if this is the most accurate biological interpretation... This is an issue I always struggle with.

I have mapped connectomes both ways—letting streamline track through if FA is high enough and always terminating streamlines once they hit a subcortical region. As expected, the second approach leads to much higher connectivity of subcortical regions. That said, I also observed that node degree rankings remained highly correlated across both approaches, and many subcortical regions remained as important hubs in the first case.

My suspicion is that most people in the field would simply termine streamline once they hit the subcortex and not give this issue much thought. If we don't have a decisive argument to go either way, one option is to default to the most common practice. This could also have the benefit of avoiding raising any eyebrows in the future by doing something unusual...

Happy to discuss this further and see what everyone else thinks.

Lestropie commented 2 years ago

PS. If you want to try the code modification to see how the tracking behaves empirically in that case, I'd recommend visualising the streamlines terminations in conjunction with the streamlines themselves.

sina-mansour commented 2 years ago

I too think it would make the most sense to use the default ACT approach as it's most likely the common practice. After all, the aim is not to find the most optimal tracking decision in the pure sense, but to provide connectomes that are similar to what someone could get with a pipeline commonly used.

I'll replace the manual seed generation with the ACT option in the updated version.