Fibre orientation wrt B0

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…