Multi-shell single-tissue processing for none brain data

Hello MRTrix team,

I have collected some pilot data to look at the fibre structure of the tongue. I have collected both single shell and multi shell data. I was wondering if you would have some recommendations as to the best way to estimate the response function for the data I have.

I have used the tournier algorithm as default for my single shell data. But i also saw some improvement in the with this data using the dhollander method, maybe because of the stricter criteria for selecting single fibre voxels?

I have seen in the forum (and have used) the multi-shell functions for single tissues. My question is would the assumtions made about grey matter and CSF in the code, lead to a poorer estimation of the RF since there is none ? Or is there a way to just use the method for selecting single fibre voxels from dhollander, so that it can be used with non-brain single tissue studies ?

Thanks for nay help,

Rob

Welcome Rob!

The dwi2response dhollander response function estimation algorithm has a lot of heuristics and free parameters built up together in order to provide the functionality that it does. I can’t claim to follow all of the details, but I expect that features such as relative anisotropy, rate of signal decay as a function of b-value, and relative volumes of different tissues, to come into play. So in images where some of those tissues are literally not present, I would expect that those heuristics could be reasonably expected to do unexpected things.

When it comes to specifically the single-fibre aspect of “WM-like” response function estimation:

Or is there a way to just use the method for selecting single fibre voxels from dhollander, so that it can be used with non-brain single tissue studies ?

We had considered the prospect of isolating just that component of the algorithm such that it could be invoked stand-alone in addition to being a part of the comprehensive three-tissue algorithm, but after a fairly lengthy discussion that wasn’t the chosen solution. You could try yourself isolating the relevant code from lib/mrtrix3/_5ttgen/dhollander.py and generating from that a stand-alone dwi2response algorithm to see how it does on your data; and if it turns out to be useful we could potentially reconsider that decision. In the absence of such, the tournier heuristic is likely the best choice, but it’s hard to know without actually toying with the data.

Cheers
Rob