FOD Entropy/Redundancy (Tournier et al, 2005)

Hello MRtrix team,
I’ve been thinking about improved ways to quantify FOD complexity, and it occurred to me that FOD entropy/redundancy, as discussed in https://cds.ismrm.org/ismrm-2005/Files/00384.pdf might be pretty optimal. Any pointers on how to compute these metrics?

As always, thank you for your help!

John

Wow, that’s a trip down memory lane…

There’s no command to do that in MRtrix3, mostly because we never needed it. It was sufficient for what we were doing at the time, but that was quickly swept aside with the introduction of the non-negativity constraint a year later…

That said, I think this one-liner should give you a decent approximation to the entropy. You’ll need to generate a directions files on which to evaluate the FOD first, which you can do using e.g. dirgen 300 dirs300.txt (feel free to use whatever number you feel is appropriate, but you probably want to make sure it’s sufficient to adequately sample the FOD):

mrconvert fod.mif -coord 3 0 - | mrcalc fod.mif - -div - | sh2amp - dir300.txt - | mrcalc - - -log -mult - | mrmath - sum -axis 3 entropy.mif

Assuming I’m using the correct formula for entropy… There’s probably some other scaling factors in there that I’ve omitted, feel free to amend if you spot any errors…

Ha, yes, sorry to send you on a deep dive. Thank you very much for the helpful response! I had 2 quick questions to make sure I’m understanding:

  1. The initial division by the first SH coefficient is to scale the FOD to unit integral? Is that correct?
  2. Should the second mrcalc command (the entropy equation) also include a -neg?

Thanks again!
John

Yep.

Probably… It’ll reverse the contrast though, I reckon the image has a more familiar contrast with this (low entropy/high intensity in single fibre regions), but this is entirely your call…

1 Like

Thanks so much!

I’ve been thinking about improved ways to quantify FOD complexity

Have you tried complexity? :stuck_out_tongue:
(Recommend running on the output of fod2fixel with -fmls_no_thresholds specified)

Ha, yes, indeed, we did look at that and found some interesting correlates of complexity. We’ve just been trying to think of alternate parameterizations of “FOD complexity” to double check our intuitions about what we think might be going on there.