tractograms with high number of streamlines for different parcellations

Dear MRtrix3 Community,

I have been using your amazing software for the past years and works just great!. We are doing an upgrade to our lab pipeline and we were wondering what would be the difference between two methods for seeding and generating whole brain tractograms with a high number of streamlines (100,0000,000 to 1,000,000,000).
On the first method we were planning to seed dynamically on the white matter 100,000,000, then SIFT2.
On the second we we planning to use a high granularity parcellation (eg. Schaefer 1000) and seed 250,000 streamlines per each ROI, then merge the resulting tck files to generate our connectome.
If we a re planning to use different parcellations over the resulting tractogram to generate connectomes with different segmentations schemes, what would be the ideal method?

Hi @rcruces,

Certainly if you plan to be able to combine the tractogram with different parcellations, it would make sense to me that the tractogram should be generated independently of the parcellation. Indeed this logic informed the implementation of the commands that are provided.

You would potentially actually run into some issues if attempting to use the Schaefer 1000 parcellation for seeding. This is a long-standing issue with ACT for which I’ve never found the time to distribute a solution (and the native mesh-based version of ACT will also be a solution). If you provide a mask image for seeding where the voxels are contained entirely within the grey matter, ACT will actually reject those seed points, as according to the ACT rules they are not valid locations from which to propagate streamlines. Using -seed_gmwmi kind of helps, but it’s an imperfect hack. Better would be to take the seed point within the GM, and project it down to the corresponding location at the GM-WM interface; but that requires some form of heuristic. You can get around it by using FreeSurfer to generate mask images that fully encapsulate the GM-WM interface rather than those voxels encased within the cortical ribbon, but it’s still kinda hacky.

The situation is even worse if you were to use the volumetric version of such a high-density parcellation. When you get to ~ 500 nodes defined volumetrically, it becomes possible for there to exist nodes for which the intersection between the parcel and the WM (even just voxels with a non-zero WM partial volume fraction) is zero, at which point it becomes impossible to propagate a streamline from that seed when using ACT. Just a general PSA about using high-resolution parcellations defined in 3D rather than on the surface…

Given you’re planning on using SIFT2, I’d personally advise using dynamic seeding. It simply minimises the magnitude of the errors that SIFT2 has to correct, and therefore the deviation of the streamline weights from unit will be less than with the alternatives.