Streamlines as ROIs for FA extraction

Hi MRtrixers,

I’m trying to achieve the following:

I have a bunch of freesurfer parcellations (extended into the WM).
Using these, I want to extract mean FA and mean MD values.
To only read out values that are clearly in the WM, I want to use the streamlines as masks.
So in order to get a value for each parcel, I want to mask the streamlines with the parcels and use these WM-parcels then on FA_dti.nii.gz and MD_dti.nii.gz to read out the respective values.

Therefore, the following questions:

  1. How can I apply the freesurfer parcels to the tractogram to create masks?
  2. How do I convert the tractogram to nii.gz?

I hope the above makes sense. Would be great so get some feedback regarding my questions!

Hi Stephanie,

Before I get to your more explicit questions:

Given that you already have the FreeSurfer parcellations extended into the WM, what is the impetus for incorporating tractography at all? It would seem to me that if you simply want to sample diffusion model parameters within these parcels, all you need to do is transform those labels onto your diffusion image grid, and you would then have, for each parcel, a mask in diffusion space from within which you can sample e.g. the mean of any voxel-wise parameter you want.

It would seem to me that if the justification is:

To only read out values that are clearly in the WM …

, well I’d personally trust FreeSurfer to demarcate where the white matter is more so than tractography :sweat_smile:


  1. For “applying” freesurfer parcels to the tractogram (ie. selecting streamlines based on FreeSurfer parcels), I generally advocate the tck2connectome -out_assignments followed by connectome2tck approach. This doesn’t “create masks” though, this is purely an exercise in isolating those streamlines that are assigned to particular parcels.

  2. A tractogram can’t be “converted” to a NIfTI, since they contain fundamentally different data. You can however map streamlines to an underlying voxel grid - i.e. counting the number of streamlines intersecting each voxel, to which you could then apply a threshold in order to produce a binary mask image - using the tckmap command.