Default algorithm for dwi2response in 0.3.12?

I’m trying to process some data to match an older dataset we have that was generated using 0.3.12. In that original pipeline, the dwi2response command was:

dwi2response ${diffdir}/data.nii.gz ./CSD10_b3000_response.txt -lmax 10 -fslgrad ${diffdir}/bvecs ${diffdir}/bvals -mask ./eromask.nii.gz -sf ./sf_mask.nii.gz -nthreads 8

When I try to run this on the latest mrtrix, I need to specify an algorithm, and I can’t figure out which algorithm is equivalent to whatever was used in that older version. There doesn’t appear to be documentation up for that version either. I don’t see the -sf flag in any of the new docs. Is that equivalent to -voxels now?

That would have used the tax algorithm – as originally proposed in this paper. It’s still available in more recent versions of MRtrix3, but there are differences in the implementation so the output is unlikely to be exactly identical – so I definitely wouldn’t combine data analysed with 0.3.12 and more recent versions in the same analysis.

We decided to move away from that approach to the dwi2reponse tournier algorithm after quite a bit of discussion. Nowadays the recommended approach is the dwi2response dhollander algorithm, which seems to perform well both single and multi-shell data.

There doesn’t appear to be documentation up for that version either. I don’t see the -sf flag in any of the new docs. Is that equivalent to -voxels now?

Correct. The interface is different in part because the implementation has been re-done from scratch: back in 0.3.12, dwi2response was a C++ binary command, whereas now the dwi2response wrapper and all of the individual algorithms are written in Python.