Calculating average FBA metrics of specific tracts

Hey @Jayachandra_Raghava,

Hope you’re doing well. :slightly_smiling_face:

Yep, that is correct. So this is conceptually the same as a simple region-of-interest analysis in the world of “voxels”. But here, rather than a binary (voxel) ROI, you’ll need a binary fixel ROI (or “mask”) indeed. We typically create this directly on the fixel-analysis mask in template space you’d already have sitting there when you’re running the main steps of an FBA or similar pipeline.

There’re multiple ways to get these.

In some previous works, we’ve used the actual significant fixels from one (FBA) analysis to “become” the binary fixel ROI(s) of another analysis or statistical test. Key here is realising that you can use most commands that work on images, also on the fixel “data files” in each fixel folder. If you want to get a binary fixel mask from your significant fixels for example, you can simply run mrthreshold with the -abs 0.95 option on the fixel data file (.mif, in the fixel folder) that has the p-values. This will yield another fixel data file, that you can store either in the same fixel folder, or alternatively copy in a new fixel folder wherein you also make a copy of index.mif and directions.mif of the original fixel folder.

The other scenario to get a binary fixel mask is when you’ve got some a priori hypothesis or interest for a tract of interest (e.g. “the cingulum”). Again multiple ways to go at this, but the simplest is:

  1. Perform tractography (tckgen) on the FOD template of your study, using inclusion/exclusion regions and parameters of your choice to obtain a good set of streamlines representing that structure. It’s important the structure of interest itself is really densely filled with streamlines. If there’s some spurious streamlines that go beyond or outside the structure of interest, that’s not a worry (see next steps!)

  2. Map this tractogram of the bundle of interest to your fixel analysis mask you have in the FBA pipeline. This is done using tck2fixel. This is essentially a “track density image” (TDI), but then on fixels, rather than on voxels. It’ll generate another fixel data file (that once more also belongs together with index.mif and directions.mif in the fixel folder). For each fixel, it’ll have the count of streamlines going “through” that fixel (which means: which go through the relevant voxel, and along an angle that is close enough to the fixel). Notably, this is indeed fixel-specific: streamlines may add to the count of one fixel in a voxel, but not to the other fixel(s) in the same voxel.

  3. Threshold this fixel-wise TDI image using mrthreshold with -abs ... and some number of minimal streamlines that need to have passed through the fixel for the fixel to be “in” the binary fixel mask. This is the step where you can play with this threshold to get a nice continuous, clean and solid “bundle” in your final binary fixel mask, even when there were a few spurious false positive streamlines before. This will then output the binary fixel mask (similarly as above in the example of thresholding the p-value fixel image).

So at this point, you’ve got a binary fixel mask for your bundle/tract of interest (or multiple, if you did this for multiple bundles). That means the FD fixel files match the binary fixel masks in ordering of storing all the numbers: this is per individual fixel. So essentially, there’s no worry about voxels with multiple fixels here: each entry is an individual fixel, both in the FD data files as well as the ROI binary files. That means you can provide these just to e.g. mrstats: i.e. run mrstats on a subject’s FD fixel data file, and add -mask ... where you provide the binary fixel mask. With mrstats for example, you can then compute the mean of all FD values in the binary fixel ROI. You can run this for example in a foreach loop, and extract specifically the mean values; and then copy-paste those values in whichever software you prefer for stats (e.g. R or Matlab or similar…).

Those are the basics; but it takes some experimenting to get used to the process of doing this. Hope it helps! :sunglasses: :+1:

Cheers & take care,
Thijs

1 Like