Short answer: yes it’s perfectly possible. If you want to use DTI to do this, something like this should do the trick:
dwi2tensor dwi.mif dt.mif
tensor2metric dt.mif -modulate none -vec vec.mif
mrconvert vec.mif -coord 3 2 z-component.mif
mrcalc z-component.mif -acos angle.mif
Or as a one-liner using Unix pipes:
dwi2tensor dwi.mif - | tensor2metric - -modulate none -vec - | mrconvert - -coord 3 2 - | mrcalc - -acos angle.mif
If you’re using fixel data, you’ll need to take a close look through the documentation to understand what’s going on. But the viewer will always load both the index.mif
and directions.mif
files together whenever you open these types of data, since the index.mif
contains information about the number of fixels in each voxels and where to look for their associated data in the other data files, while the directions.mif
file contains just a long list of directions for each of those fixels.
I think you should be able to extract the information you’re after from fixel data with commands like this:
fixel2voxel fixel/directions.mif split_dir -number 1 peak1_direction.mif
mrconvert peak1_direction.mif -coord 3 2 z-component.mif
mrcalc z-component.mif -acos angle.mif
For the above, you might want to verify that the peak1_directions.mif
file contains unit vectors, I’m not sure about that bit – but it’s critical for that last acos(vz) operation to be valid…