Tractography - hemispheric differences


#1

Dear MRtrix experts,

I am trying to compare the two hemispheres within the same subject as to how their thalamus connect to different brain regions (like to the temporal lobe and to the prefrontal lobe) and assess hemispheric differences.
Am I correct running several separate tractographic analysis with the thalamus as seed image and each of ROIS of interest in each hemisphere as an inclusion mask and then count the number of streamlines of each outputted track file (eg. RightThal->TemporalRightHemisphere; LeftThat–>TemporalLeftHemisphere; RightThal–>PrefrontalRightHemisphere; LeftThat–>PrefrontalLeftHemisphere)? In each of the runs I used a mid sagittal plane as exclusion mask to avoid streamlines to cross to the contralateral hemisphere, however I still obtained more streamlines than that of the tracts I want to isolate. Is there another way to get the tract that connects two ROIS without manually manipulating it with exclusion spheres and masks?
Also since I want to know the differences of streamlines between hemispheres, I am, instead of giving a number to the -select option, giving a number to the -seeds option, so that the final number of streamline counts reflects a difference between hemispheres. Is this correct?
Finally, I understand that the “count” line in tckinfo output gives the number of streamlines that have not been rejected by the exclusion criteria and have been accepted by the inclusion criteria, however I am not complete sure about what “total count” means.

Thank you in advance,
Rita


#2

Hi Rita,

Selecting -seeds number makes it definitely more comparable.

Regarding the tckgen, have you tried -stop option? In that case propagating algorithm will stop once it transverses your -include -regions.

Also, have you tried seed_unidirectional?
However, I have obtained best results when I put another exclusion mask just beneath the thalamus.

Another option is ofcourse to construct the connectome, and use connectome2tck options where you will even know which reasons inside the hemisphere are better connected. But that requires a little bit more computing and time.

Cheers


#3

Hello David,

Thank you for your answer!

I have been using the -backtrack option instead, but I will try to use the -stop option then. Yes, seed_unidirectional improves the results!

Would SIFT2 also be an option? To extract a cross-sectional area of my tracts and make comparisons of connectivity across hemispheres?

Thanks again,

Rita


#4

I would personally recommend it as a better option, if you’re interested in quantitative estimates of ‘connectivity’ (with all the usual caveats around tractography). It’s more involved, as you’ll need to do whole-brain tracking for it to be valid, and then extract the streamlines of interest from that afterwards, but you can also use tck2connectome and connectome2tck for that.


#5

Hi,

Thank you for your answer!

I have another question, regarding tckgen and -act. Does the seed image of tckgen must be from the subcortical tissue type? I read that it is possible to seed from a subcortical structure, but I am giving a seed mask of the thalamus that was manually drawn and for that reason does not correspond 100% to the subcortical tissue as it is classified in the 5ttseg image.
Is it possible that if a seed is located within my mask and outside subcortical tissue (as defined in 5ttseg), and a streamline keeps on going trough my mask and enters the subcortical tissue (as defined in 5ttseg), terminates due to criterion 5 (from ACT paper)?

I don’t know if I made myself clear :confused:

Also, regarding SIFT2, I have been following the pipeline: get a whole brain tractogram and a tractogram with the pathway I want isolated; joined both with tckedit; apply sift2; use tckedit again to isolate tract and get a new weighting file; sum all values in the new weights file to get the total fibre cross-sectional area of the pathway in AFD per mm. Am I correct to use this metric to compare the same pathway obtained in different hemispheres?

I saw that I can also tckmap using both -precise and -tck_weights_in, where each voxel represents a volume. Therefore if I use mrcalc to sum just the non-zero voxels, am I going to get the fiber volume of the entire pathway? Is this a metric that can be used for “connectivity”?

Sorry, if these questions are obvious, I am still new to MRtrix.

Thanks again!

Rita


#6

Finally, I understand that the “count” line in tckinfo output gives the number of streamlines that have not been rejected by the exclusion criteria and have been accepted by the inclusion criteria, however I am not complete sure about what “total count” means.

It’s kind of legacy to a certain extent. In MRtrix 0.2, back when the command for generating streamlines was the only command that produced track data as output, “count” was the number of tracks in the file, and “total_count” was the number of streamlines that were generated (but not all of which were written to file). That’s still the case with tckgen, but obviously we now have many more commands that write track data. What I’ve tried to do throughout the various commands is have “total_count” reflect the number of streamlines present in the track file that was the input to the command that produced that track file.

Does the seed image of tckgen must be from the subcortical tissue type? I read that it is possible to seed from a subcortical structure, but I am giving a seed mask of the thalamus that was manually drawn and for that reason does not correspond 100% to the subcortical tissue as it is classified in the 5ttseg image.

Seeds will be drawn within the seeding mask you have defined, and cross-checked against the 5TT image to ensure that each individually is a “biologically valid” seed point. So if your mask contains a little bit of white matter, or omits a little bit of the thalamus, it just means that some streamlines may be seeded within the white matter near the thalamus, and some areas of the thalamus might not be seeded in. This is completely fine as far as the tracking code is concerned; it’s up to you to determine whether or not this is problematic from the standpoint of your experiment. Note however that this is pretty much inevitable, given that a seed mask is constrained to be binary whereas the 5TT segmentation includes partial volume fractions.

Is it possible that if a seed is located within my mask and outside subcortical tissue (as defined in 5ttseg), and a streamline keeps on going trough my mask and enters the subcortical tissue (as defined in 5ttseg), terminates due to criterion 5 (from ACT paper)?

Yes. Imagine two streamline points that are right next to one another, but one is just inside the SGM and the other is just outside it (i.e. in the surrounding white matter). The tracking will by default be bidirectional in both cases, and the same anatomical priors apply. The only potential difference in behaviour between the two is that if the streamline seeded within the SGM fails to exit the SGM in either direction, it will be thrown out, as all streamlines must be inside the WM at some point along their length.

Also, regarding SIFT2, I have been following the pipeline: … Am I correct to use this metric to compare the same pathway obtained in different hemispheres?

Yes, that’s the usual pipeline. The only other requirement is that bias field correction is necessary (otherwise, if the image intensities in one hemisphere were half that of the other, then the quantified “connectivity” would be halved as well).

I saw that I can also tckmap using both -precise and -tck_weights_in, where each voxel represents a volume. Therefore if I use mrcalc to sum just the non-zero voxels, am I going to get the fiber volume of the entire pathway?

Yes; although you could have taken the sum of (product of streamline weight and streamline length) and gotten the same result.

Is this a metric that can be used for “connectivity”?

You can; but we specifically advocate that fibre cross-sectional area is a better measure of “connectivity” than volume, as the latter scales directly with pathway length even though it has little effect on connection “bandwidth”, which is probably the best analogue of “connectivity” we can invoke. There’s some relevalt discussion here, as well as in the Fixel-Based Analysis paper in the justification of the FC metric.


#7

Hi!

Thank you so much for your answer, very enlightening!

I just have some remaining doubts.

Then, why is not “total_count” equal to the number of seeds I am giving as an input? Is the difference the number of seeds from where no an appropriate tracking direction for a streamline was found?

I’m using unidirectional, so probably this is not problematic. Still, if I want to prevent this to happen, can I add to the 5TT image, subcortical tissue, a mask of the thalamus I use as seed and remove in the WM tissue, the part of the thalamus I want to consider SGM?


#8

Then, why is not “total_count” equal to the number of seeds I am giving as an input? Is the difference the number of seeds from where no an appropriate tracking direction for a streamline was found?

Yes, the seed count will include seed points that were drawn from whatever source of seeds is provided, and also satisfy anatomical constraints if ACT is used, but from which tracking cannot be initiated. Since the “entity” reconstructed is simply a single vertex point, we don’t consider that to constitute a “streamline”, and hence it doesn’t count toward “total_count”. tckgen now prints three different values at the command-line as it runs rather than two, and that decision was driven by this distinction. There’s a bunch of discussion here if you’re interested.

I’m using unidirectional, so probably this is not problematic. Still, if I want to prevent this to happen, can I add to the 5TT image, subcortical tissue, a mask of the thalamus I use as seed and remove in the WM tissue, the part of the thalamus I want to consider SGM?

It’s not 100% clear when you say “if I want to prevent this from happening”, what the behaviour you are referring to is. I think what you’re looking for is a guarantee that wherever a seed point is drawn (based on the seed mechanism provided), all seed points will always lie within SGM. If so, there’s two potential ways to approach it:

  1. Reject any seed point that is produced by the seeding mechanism but does not lie inside SGM. While this is technically possible, it would require modifications to the code.

  2. Modify the tissue segmentation so that anywhere that the seeding mechanism may feasibly place a seed point is guaranteed to be classified as SGM. For this you can use the 5ttedit command: whatever mask inage you are using to draw seeds, provide it using the -sgm option. The command will relabel all voxels in that mask image to be 100% sub-cortical grey matter. It will give the tissue segmentation an artificially “blocky” appearance in that region, but it will provide that guarantee of all seed vertices being classified as SGM.


#9

Thank you very much for your help!