Wm ODF and response function with dhollander option _ single shell versus multi shell

Aha, that clarifies a lot! So for this particular scenario, I’d actually advise what you inherently ended up doing in that first example in your first post; but given that we know the GM will never show up, you can just as well just feed dwi2fod msmt_csd only WM and CSF responses (and only ask it for WM and CSF (FO)Ds). You can see this as something close to free-water removal (the CSF compartment), and you benefit of the “hard constraint” that the msmt_csd algorithm uses (whereas the csd algorithm has a “soft” constraint, i.e., an iterative regulariser to work towards non-negativity of the FODs). Note that this is not exactly “free-water removal”, as part of the GM signal gets captured by the CSF compartment as well (but that’s ok, at least you do get rid of some GM signal in your WM FODs then). Specifically given your “low” b-value, adding CSF as a compartment can yield some benefits compared to sticking with single-tissue (WM) CSD.

See also this recent post about the same topic (even with b=1500 single-shell data as well!), and the images that were posted further in that topic (or the context prior). Long story short, this would be dwi2response dhollander followed by dwi2fod msmt_csd, but the latter only using the WM and CSF responses from the former (i.e. simply ditching the GM response).