Extracting ROIs for fixel-based analysis

I’d like to extract the mean AFD-value for a region of interest. My ROI is not a specific tract, but a spherical region (it’ s a mask I created in FSL). I conducted the fixel-based analysis in MRtrix to obtain the afd.mif file. However, I can’t find a way to extract only those AFD-values (i.e. the mean) which lie within the mask. I usually do such analyses in MATLAB, but the dimensions of the afd.mif and my ROI.nii file naturally don’t match, even after converting the ROI.nii to ROI.mif. Can you help me out here?

PS: Sorry, I think I should have been clearer before: Of course, what I really aim for in the end, is to obtain the mean AFD of any fibre population that crosses my ROI, but only within the borders of my ROI.


Hi Marlene,

The AFD values are stored as fixel data files, and do not in isolation contain any spatial or orientation information; so a dimension mismatch between such a file and a 3D mask image is inevitable.

What you are looking for is a fixel mask: A fixel data file that contains a value of 1 for fixels that you want to include in your computation, and a value of 0 for fixels that you do not want to include. There are various ways that such a mask could be derived; but the obvious starting point is the voxel2fixel command, which will project values from a 3D voxel image into the fixels underlying each voxel. You may however wish to refine this selection further, since a voxel-based selection will include unwanted crossing-fibre fixels in your selection; admittedly the tools for doing this are still a little lacking (e.g. editing fixel ROIs within mrview is technically feasible), but the combination of tck2fixel and mrthreshold can be useful.

From there, it’s simply a matter of executing mrstats on the AFD fixel data file, providing your derived fixel mask using the -mask option.


A post was split to a new topic: Mean FA of fibres crossing a ROI