Tck2connectome -scale_* options

Hello all,

I’m experiencing some unexpected behavior from tck2connectome when using the -scale_* options. I have a whole brain seeded .tck file to which I’m applying a custom atlas created from a series spherical ROIs merged into a single nifti file. When I use the -scale_invnodevol option, I get reasonable looking results with all nodes assigned at least one streamline. However, if I drop that option (calculating just the sum of streamlines for each edge) or apply the combo -scale_length -stat_edge mean options, no streamlines are assigned to any nodes.

Shouldn’t these options just change the weight of the entries in the connectivity matrix? If connection is nonzero with one scale option, it should be nonzero with another, no?

1 Like

Shouldn’t these options just change the weight of the entries in the connectivity matrix?

Uh… correct. I’ve honestly no idea what could be going on here… The relevant options simply engage scaling factors to node connections that are determined elsewhere, so there should be no inter-dependence. Are you able to provide example data that demonstrates the issue? If you use the -out_assignments option, does that yield different results depending on which -scale_* options you specify?

1 Like

Dear Smith,
short question. I would like to do the distance correction and divide the number of streamlines connecting each pair of regions of interest by the sum of volumes.
Should I use the command like this:

tck2connectome -scale_length  -scale_invnodevol -symmetric  -zero_diagonal input.tck output.csv

If not, how could I do and what is the formula behind -scale_invnodevol?

Best,
Ziqian

I would like to do the distance correction

To be clear, this capability being provided should not be misinterpreted as advocating its use; see this manuscript.

In addition, the “correction” you most likely seek is scaling by the inverse of the streamline length, not the length itself; so that would be -scale_invlength.

how could I do and what is the formula behind -scale_invnodevol ?

The -scale_invnodevol option engages this code. So for each streamline, the contribution toward the connectome is divided by the mean number of voxels in the two nodes that are connected. Technically not a “volume” if your parcellation image doesn’t have a 1mm voxel size; but given the error factor is identical for all streamlines, you couuld just derive and apply the scaling factor yourself after the fact if connectome magnitudes matter (which is difficult to envisage given that this scaling pretty much breaks any physical interpretation of the resulting connectivities).

1 Like