Combining VBA and FBA within one pipeline

Hello, I am building a pipeline and want to combine FA and FDC metrics. For VBA I compute FA using dtifit (from fsl package), perform tractography for a few bundles and then combine these results to get FA distribution along the tracks.

Next, I perform FDC computations following fiber density tutorial from mrtrix documentation. As a result, I have temlate/fdc directory containing a file for each subject, and additionally index.mif and directions.mif.

Now, I want to combine FA and FDC metrics. As far as I understood from documentation, I could execute something like mrtranform index.mif -warp ../subjects/5/pop_template2subject_warp.mif -interp nearest ../subjects/5/index_warped.mif and, since index.mif defines correspondence between population template voxels and fixels, the warped version should define correspondence between subject voxels and template fixels. (correct me please if I am wrong here)

I still have several fixels per some voxels, but I need the one that corresponds best to the direction which was used during tractography. In order to choose corresponding fixel I want to utilize principal eigenvector direction and dot product. But the problem is that template/fdc/directions.mif is defined in template space. So the main question is: can I use mrtransform in the similar way as for index.mif file? And if so, should I execute it with any specific options?
Or is there any other way to get such FDC-FA correspondence?

Sorry if something in my question doesn’t make sense, I am pretty new to this subject.

Welcome @pelmeshko!

Sure you couldn’t find an easier question to start with? :stuck_out_tongue_closed_eyes: (jk)

So there’s a few possible ways that one could choose to go based on your description.
The way I’m going intuitively is that I’m going to ignore this bit:

… perform tractography for a few bundles and then combine these results to get FA distribution along the tracks.

, and focus on this bit:

Or is there any other way to get such FDC-FA correspondence?

While one can obtain samples of FA values along the lengths of streamlines, this doesn’t contribute to obtaining correspondence between the FDC and FA metrics in the way that I’m suggesting.

The definition of “correspondence between FDC and FA” that I’m going with is that, if you were to look at a fixel in some location, it would have a value of FDC and it would also have a value of FA. What you then choose to do with that information is up to the details of your experiment; but this is our target. Also note that we want these data to be represented in fixels: if we were to reduce FDC down to voxel space we would be losing information, whereas by projecting FA data up from voxels to fixels we’re not losing anything.

(There’s theoretically a third alternative here based on using streamlines trajectories as the manifold for correspondence, but I don’t think it’s the right way to go here)

So what you have, is:

  • A template FOD image;

  • For each subject:

    • A fixel data file containing a value of FDC for every fixel in template space;

    • A non-linear spatial transformation from subject to template space;

    • An FA image in subject space.

And what you need is:

  • For each subject:

    • A fixel data file containing a value of FA for every fixel in template space.

Note that I’m proposing performing the spatial transformation in the opposite direction to what you originally proposed. While you could technically warp fixel information from template space back to subject space, it seems slightly counter-intuitive given that fixel information is based on subject FODs having been transformed to template space in the first place; why not simply perform FOD segmentation on the FODs in subject space? Then you don’t have to worry about the inability to smoothly interpolate fixel data when going from template back to subject space, and you don’t have to worry about changes to fixel orientation due to non-linear transformation. But rather than going this way, I’d suggest instead operating primarily in the space of the FOD template you’ve already generated, since that will give you correspondence both between FDC and FA metrics for individual subjects, and across subjects as well.

So from the above, the key tools that you need are:

  1. mrtransform to transform the FA image from subject space to template space. There’s no need to perform any registration here: you already have the non-linear transformations from subject to template space for every subject from the FOD-based registration in the FBA pipeline.

  2. voxel2fixel to project the voxel-based FA data up into the space of the template fixels. All this command does is take the value within each voxel and assign it to all fixels within that voxel; so there’s no fixel specificity (as one would expect).

You now have, in every fixel in your template, a value of FDC and a value of FA for each subject. :+1: