Hi all
Just a simple question in the paper of ”Multi-tissue constrained spherical deconvolution for improved analysis of multi-shell diffusion MRI data”
‘The anisotropic response functions for WM are estimated per shell by averaging reoriented DW profiles from voxels’
‘The isotropic response functions for GM and CSF are estimated from……The responses were then obtained by averaging the DW profiles per shell.’
As for the isotropic response functions for GM and CSF ,the lmax=0,the same number of SH coefficients per shell, so it can average the SH coefficients per shell
But for the WM, after estimating the response functions for WM per shell , how to estimate the response function for all shells? Maybe every shell has different directions , so the lmax are different, I think it is not suitable to average……(just I think)

Like you said: the responses are obtained per shell. So there is indeed no averaging across shells; the averaging is performed for each shell independently, across the single fiber voxels.

For details on how to perform MSMT-CSD in MRtrix, look at

Just to add to what @bjeurissen explained: this is also done for GM and CSF. A response function (be it WM, GM or CSF) “for all shells” still consists of a separate response for each b-value. So compared to the “classical” single-shell response of CSD, where the response only lives on a single shell, the response functions in multi-shell CSD consist of multiple shells. This information is never collapsed onto a single shell, but deconvolved as a whole from the full multi-shell data.

As an example, consider the WM response in Figure 2 in the paper: : “the response” is the full set of those 4 spherical functions (not their average).

Thank you very much, I understood it .
I want to make sure how to get the volume fraction (WM, GM and CSF) in a voxel. According to respective contribution to DWI signal per shell? But there are three shells, the contribution to DWI signal changes per shell based on the unique b-value dependencies of the different tissue types… (I don’t know)
One more question, at the tissue interface, how to estimate the FOD in a voxel (containing WM and CSF)?
According to the Fig 6 to 8, I observe that there is no FOD in pure CSF. Maybe for the isotropic GM and CSF, it should be no FOD according to the SD algorithms (just I guess, my math is poor).
So at the tissue interface, there is only FOD for WM? Does it use the information of respective volume fraction?

No worries, @liyuan_yang . As to the volume fractions:

  1. It’s not part of your actual question, but maybe to clarify upfront: the term “volume fraction” might be a bit ill chosen here, looking at it retrospectively. They’re not “fractions” in the sense that they are not enforced to sum to one; in fact, it’s perfectly fine if they don’t in the way we treat the DWI signal.

  2. What you have to understand, is that the multi-shell multi-tissue CSD “upgrades” the original (single-shell single-tissue) in fundamentally 2 separate ways (that then happen to work very well when combined). The first is the multi-shell aspect, as @bjeurissen and I explained in the previous posts. The other one is the multi-tissue aspect: each tissue has a response function (which happens to consist of multiple shells), and we also estimate an “FOD” for each of those tissues. So the outcome, for each and every voxel, is essentially an “FOD” for each of the tissues. In voxels that are, e.g., in the deep white matter (far from tissue interfaces), the model fit still provides a WM, GM and CSF “FOD”. The GM and CSF ones just happen to be (close to) zero. At tissue interfaces, more than one tissue type’s “FOD” will probably be different from zero. None of these things is ever “enforced” (or “assumed” in the fit).

Overall, we’re looking at explaining the DWI signal in every separate voxel as follows (for the example of WM, GM, CSF tissue types):

(WM-response * WM-FOD) + (GM-response * GM-FOD) + (CSF-response * CSF-FOD) = DWI-signal

…where * is a convolution operator.

Each response has multiple shells; but there’s only a single FOD per tissue type. The fact that the DWI signal is different over different shells, is captured in the different shells of each tissue response function. The fact that the DWI signal decay behaves differently in different voxels, is allowed by having the different tissue responses. Should there be only one tissue type (with just one, multi-shell, response function) in this model, we would indeed not be able to cope with different decay behaviours. The single-shell single-tissue CSD is not bothered by having only a single tissue type, because it doesn’t have to deal with multiple shells.

That latter explanation is, in a certain way, similar as to how you can fit the diffusion tensor (ADC) model to just 2 b-values (typically 0 and another one), but it starts to really break down (or better: starts to show how it’s insufficient in the first place) when fitted to / forced upon data that has extra shells / b-values. Introducing that extra data, forces you to deal with it in an appropriate manner. For DTI, the next step up would then be diffusion kurtosis imaging, that introduces a way to cope with these different signal decay behaviours. As mentioned, in our approach, we deal with this by having the multiple tissue types. And our results show that exactly these inform the fit quite well as to what tissue types are actually present.

A lengthy explanation (tends to happen when I start typing)… but let’s hope it makes sense. :wink:

Thanks for explaining so patiently.
@liyuan_yang, MRtrix codes may provide more helpful details.

A simple question,if MSMT-CSD don’t select voxels containing only single tissue type from T1, could it produce a map of the WM/GM/CSF volume fractions ‘directly’ from the DW data?
If it could, how?

Dear @liyuan_yang,

The current msdwi2fod command will not automagically produce a volume fraction maps from the DW data. As shown in the docs, it needs predefined response functions for each tissue type. How to obtain those predefined responses is still the subject of discussion. The only approach currently available in MRtrix is by means of a segmented and coregistered anatomical image.

That being said, it is technically possible to obtain volume fractions maps directly from the raw diffusion MRI data using matrix factorization techniques as shown in

However, this approach is not available in MRtrix yet.

Thanks for your patience to answer my question!:smile: