But when I overlap the wmCSD.nii on T1w.nii, I found that there are many voxels beyond the brain. I wonder what causes this phenomenon? Is this normal?
This is probably simply because you haven’t applied a brain mask to zero out voxels outside the brain. These are basically just noise.
That said, I don’t quite get how the commands you show can work correctly. The dwi2response call requires knowledge of the DW gradient table, and the NIfTI format can’t store that in the headers. For your call to work, you would have needed to add the -fslgrad option, was this the case? Same applies to the dwi2fod call, with the addition that the WM response file hasn’t been provided to the command.
Otherwise, to avoid the noisy voxels outside the brain, it should be sufficient to run dwi2mask before the dwi2fod call, and pass the resulting binary mask image to the subsequent dwi2fod call via the -mask option.
But you could probably do better with a 2 tissue decomposition, using the MSMT-CSD algorithm. You need to extract response functions for all 3 tissue types (WM, GM, CSF), but then perform the MSMT CSD using only two of them (since you have only 2 b-values), and the most effective combination is WM & CSF:
Sorry, actually I have executed the -fslgrad command, but I didn’t show here ( I thought it wasn’t important to this question).
And I preprocessed my data with fsl in advance, I wonder which bvecs I should import here, the original bvecs or the eddy_corrected bvecs?
About the CSD and msmt_CSD, I actually got confused.
According to the manual, I first ran “dwi2response dhollander”, because I want to get multi-tissue response function. But then I found that the manual says if I want to execute msmt_CSD, there should have at least 3 shells, so I choose the dwi2response tournier + dwi2fod csd algorithm.
Yes, I really need to update the docs to explain the issues here… In general, you can’t estimate more tissue types than the number of distinct b-values (at least when using regular MSMT-CSD). With single-shell data, you will normally have two distinct b-values, so you can readily estimate WM and CSF components. We need to make that more obvious…
I assume even you say “eddy_corrected”, that’s produced by eddy, not eddy_correct, right? The latter doesn’t perform very well in my experience. But yes, use the corrected bvecs.