Assessing structural connectivity at voxel-level within a given ROI



I would like to perform whole-brain tractography, but within one particular ROI I’d like to keep voxel-specific information on where tracts start/terminate, rather than store everything at the ROI level i.e. I’d like to perform an analysis similar to the one presented in this paper

Is there any way to do this within the MRTrix3 architecture, other than assigning each voxel within the target ROI as a separate, new ROI (this would be possible, but get a little messy)? If yes, how would you recommend doing this?


Hi @Reinder,

A quick look at the manuscript suggests that it’s a typical connectivity-based parcellation type application. FSL’s tractography basically does this “internally”; with MRtrix3 it requires more explicit consideration of the individual steps required; but by “exposing” the internal steps there’s in fact a number of different ways that such an experiment can be done.

If you genuinely want to derive such connectivity information from “whole-brain tractography”, i.e. a whole-brain tractogram where streamlines are seeded throughout the entire brain rather than just your region of interest, then giving each voxel of interest a unique index and running tck2connectome is an option; alternatively, you can run your ROI through maskdump to get the voxel locations, then loop over those voxel locations using mredit to get a series of single-voxel ROIs that you could feed to tckedit.

If you want to seed streamlines just from the region of interest, you could use -seed_grid_per_voxel or -seed_random_per_voxel within tckgen, or you could use the maskdump | mredit trick described above to generate single-voxel ROIs that can be provided to tckgen as seeds in a loop. This is what I’ve done in a script of my own; which I’ve had a number of requests to upload…



Hi Rob,

Thanks for the help. Would you consider uploading this script? :slight_smile:

If I seed streamlines from a specific region only will the SIFT2 algorithm still work to optimize the weights? I recall reading somewhere that SIFT2 only works for whole-brain tractography. If that is correct, how would you recommend analyzing streamlines from a region of interest?