I have a .tck file of my tractogtaphy and a streamlines connectomes using tck2connectome command. I however, now want FA, AD, RD connectomes for the FA, AD, RD metrics.
Is there a way I can achieve this?
Thank you in advance
Best,
Apoorva
You can take a look here here, it’s all explained.
Basically, to obtain the connectomes weighted by the mean FA (or another map) what you need to do is:
tcksample tracts.tck FA.nii.gz FA.csv -stat_tck mean
tck2connectome tracts.tck Labels.nii.gz FA.csv -scale_file FA.csv -stat_edge mean
In this case each connection will be the mean of the means of the FA. The mean FA along the tract is assigned as a weight to each tract and then each connection is the mean of all the tracts that connect the two nodes.
I was wondering If we have to apply SIFT2 when computing connectomes weighted by some microstructural parameter (for example FA maps). By applying SIFT2 the values of the mean FA in each edges would very small and not interpretable anymore. By not applying SIFT2 the mean FA sampled through the streamlines might be biased by overestimated streamlines.
Thank you very much for your help.
By applying SIFT2 the values of the mean FA in each edges would very small and not interpretable anymore.
I think that perhaps this is a misunderstanding regarding how this calculation is performed.
By using the -scale_file option in tck2connectome, the contribution of each streamline is multiplied by the corresponding factor in this file; if you then additionally use -stat_edge mean, then it will be the mean of these values from across those streamlines corresponding to a particular edge that is stored in the connectome matrix.
By additionally providing per-streamline weights via the -tck_weights_in option, then yes, the contribution of each streamline is multiplied by both the streamline weight and the factor provided via -scale_file; however, in the calculation of the per-edge mean, this sum is divided by the sum of streamline weights within that edge.
So in this way, the combination of SIFT2 weights and -stat_edge mean act as a weighted mean: those values ascribed to streamlines with large weights contribute more to the final result than those ascribed to streamlines with small weights, but the magnitude of that weighted mean is still faithful to the magnitudes of those values within the file provided via -scale_file.
I also want to create connectivity matrix base on mean streamline length between each node pair, FA and ADC maps. according to your instructions, I use the following codes:
connectivity matrix base on the mean streamline length between each node pair:
I would most certainly not be using the -scale_invnodevol option for the mean FA and mean ADC connectomes. I’m critical of that heuristic scaling even for connectivity metrics where it is technically applicable, being “density”-based metrics that are additive across streamlines and thus ROIs that are larger in volume are likely to have assigned to them a greater “density of connectivity”. But what you’re doing here is equivalent to generating a connectome where e.g. each edge contains the mean FA of the connection between the two endpoints, and then dividing that by the node volumes. These two factors are wholly incompatible with one another, as a node that is of larger volume is not expected a priori to have a greater FA ascribed to the streamlines assigned to it than is a node of smaller volume.
Other than that, and the fact that technically you only need to call the tensor2metric command once to generate both FA and ADC maps, your usage looks fine.