Tract-wise fixel-based analysis with TractSeg

Hi everyone,

I’d like to do a fixel-based analysis looking at fibre density and fibre cross-section in certain tracts of interest segmented with TractSeg, and was unsure about the best way to go about this. I’ve read these threads in the MRtrix forum…

…where different options are discussed, but since all threads are a few years old there may be other recommendations or even a standard method by now.

My first idea before reading all this was to

  1. follow the regular steps for fixel-based analysis in template space,
  2. to run TractSeg on each subject’s peaks file (by converting each subject’s wmfod.mif to wmfod.nii.gz, then running sh2peaks on it) with TractSeg -i my/path/peaks.nii.gz,
  3. to apply the mask for a given tract to each subject’s template space FD/FDC/log(FC) file and extract the mean for that tract, and
  4. to then use those means in statistical analysis.

After reading those threads I get the impression that my approach is too simple and not considering some fine points, so I’d appreciate any thoughts on how to do this and whether there is some agreement about a more or less standard best practice at the moment!

Thank you in advance! :slight_smile:

Hi @LM99,

From my understanding this is still what is recommended. But make sure the tract masks come from the streamlines (e.g. a tck2fixel mapping) for more specificity.

Best,
Steven

Thanks so much for the quick reply, this is super helpful! I was getting a bit lost in all the options there.
Just to clarify the part about making sure the tracts come from the streamlines, would that be different from running TractSeg on the peaks file that is generated from a subject’s wmfod.mif file? Or is this an additional step afterwards?

Hi @LM99,

That means you have to run the Tracking command to make the tcks. And then tck2fixel.

Best,
Steven

1 Like

Hi @LM99,

Also, in case it wasn’t clear, make sure the fixel metrics and subject tracks are either both in group template space or both in subject space. I doubt there’s much of a difference between doing the two, but I actually think I would prefer doing everything in group template space, because that way you are only warping the tract masks, instead of warping metric values (which leads to interpolation).

Best,
Steven

Thanks for the clarification! Yes I think this should be ensured in my pipeline because I’m running Tracking on each subject’s peak file generated from the FOD file that’s in template space (fod_in_template_space_NOT_REORIENTED.mif), and then applying the tract masks to the FD maps again in template space.
I’m wondering however if it’s better to do it this way and segment each subject’s individual set of tracts and then extract means of their FD maps, or to segment one set of tracts from the study-specific FOD template that’s created in step 9 of the FBA pipeline; and relatedly, if it’s better to pick the FD maps that are generated after fixelcorrespondence in step 16 (so the FD maps in /template/fd), or rather those that I have from before establishing correspondence (the ones in each subject’s fixel_in_template_space directory).
I know that here Calculating average FBA metrics of specific tracts - #7 by rsmith - MRtrix3 Community it’s mentioned that both work but that the template option may be better, but that’s a rather old post so maybe now there’s a different recommendation, especially given that TractSeg didn’t exist back then. My research question is whether there are differences in FD between clinical groups, if that matters.

Hi @LM99,

Unless you are doing an analysis where you think the volume of the tracts will cause a statistical bias, I’d recommend doing subject-specific tracts for most specificity.

1 Like

Perfect thanks so much, that was my rationale too!

1 Like

You’re welcome, good luck!

1 Like