Skip to content

Add Norm and Mode of Anisotropy (NA and MO)#3269

Open
kikiluvbrains wants to merge 10 commits intoMRtrix3:devfrom
kikiluvbrains:add_mo
Open

Add Norm and Mode of Anisotropy (NA and MO)#3269
kikiluvbrains wants to merge 10 commits intoMRtrix3:devfrom
kikiluvbrains:add_mo

Conversation

@kikiluvbrains
Copy link
Copy Markdown

@kikiluvbrains kikiluvbrains commented Feb 19, 2026

Adds NA and MO as an output option in tensor2metric. Verified using the provided test data and an external DTI dataset.

paper link: Ennis, D. B., & Kindlmann, G. (2006). Orthogonal tensor invariants and the analysis of diffusion tensor magnetic resonance images. Magnetic resonance in medicine, 55(1), 136–146. https://doi.org/10.1002/mrm.20741

other supporting literature:
Chad, J. A., Pasternak, O., & Chen, J. J. (2021). Orthogonal moment diffusion tensor decomposition reveals age-related degeneration patterns in complex fiber architecture. Neurobiology of aging, 101, 150–159. https://doi.org/10.1016/j.neurobiolaging.2020.12.020

example of mo on example dti data:
image

@kikiluvbrains kikiluvbrains changed the title Add mo Add Norm and Mode of Anisotropy (NA and MO) Feb 24, 2026
const double l3 = eigval(2);


mo = DWI::tensor2MO(l1,l2,l3);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this computation (as well as tensor2NA()) is being done based on the eigenvalues rather than the tensor, then "tensor2MO()" isn't a suitable name for the function.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed name to eigen2MO() and eigen2NA()

@Lestropie
Copy link
Copy Markdown
Member

Thanks for the contribution @kikiluvbrains! Unless there's contention about the metrics themselves this should hopefully not be too difficult to accept.

  • PR currently shows unrelated commits. Hopefully this is just due to the merge conflicts with dev, and doing an explicit merge will resolve.
    (Let us know if you need help in this regard)

  • The new contrasts should be computed from the test DWI data and committed to the test data repository, and tests should be added to check for any regression.
    (This is kind of clunky to deal with as it's a separate repository, so I'll do it myself)

  • Address code comments.
    (If you want to accept multiple suggested changes as-is, please aggregate them into a batch; otherwise just edit and commit as you see fit)

@kikiluvbrains
Copy link
Copy Markdown
Author

kikiluvbrains commented Mar 29, 2026

Hey, merge conflicts should be resolved by now. And I went through and added in all fixes from the comments. Now, I think we need to add the new contrasts for the test DWI data.

And by test data do you mean this I have the output on NA and MO from the test dt.mif file, I can upload those in if that would help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants