Fibre orientation wrt B0

Is there an alternative option to split_dir with the new fixel2voxel command in matrix?

I try and use that option however I am given the error ā€œunexpected value supplied for operation, valid choices are mean, sum, product, min, max, absmax, magmax, count, complexity, sf, dec_unit, dec_scaled, none.ā€

I have a feeling this functionality has been moved over into a new command fixel2peaks – rationale for the change was discussed on this GitHub issue, for those who might be interested.

The angle map I get is not ideal, and so I am trying to improve on this. I think what may be the problem in using fixel2peaks, is that the image is scaled based on the afd, and so I need to find a way to ā€˜descale’ this image, as I propose the scaling has affected the angle obtained?? Im not sure if that would be why or if the issue is something else

I think what may be the problem in using fixel2peaks, is that the image is scaled based on the afd, and so I need to find a way to ā€˜descale’ this image, as I propose the scaling has affected the angle obtained?

This can be done manually:

mrmath peak.mif norm - | mrcalc peak.mif - -div peak_dir.mif

This assumes a volume with 3 volumes and just a single XYZ orientation per voxel; if encoding more than this you’d need to use mrconvert -coord 3 to extract the volumes corresponding to each peak, normalise each individually, then stitch them back together with mrcat.

1 Like

Ok so I have a 122x122x68x3 image, so essentially 3 volumes so I won’t need to carry out mrconvert? Is that correct

Is the split_data functionality of fixel2voxel also possible? Reading this: https://github.com/MRtrix3/mrtrix3/pull/1874
it says ā€œso it makes sense to replace split_data with none and ditch split_dir in favour of a dedicated commandā€¦ā€ so I’m assuming the split_data functionality is still possible with the new fixel2voxel command, but by specifying ā€˜none’ as the operation? Thank you

Ok so I have a 122x122x68x3 image, so essentially 3 volumes so I won’t need to carry out mrconvert? Is that correct

Correct: if there’s 3 volumes in the 4D image, then there’s only one fibre direction per voxel, and so you don’t need to do any trickery in order to separately normalise multiple fibre directions in each voxel.

I’m assuming the split_data functionality is still possible with the new fixel2voxel command, but by specifying ā€˜none’ as the operation?

Correct: that is a simple renaming of the operation, the functionality remains the same.