I wanted to know if any of the mrtrix people routinely (confidently) use in their pipeline any nonlinear registration methods between diffusion and structural data, and if so how the particular registration method is integrated with the mrtrix3 code. I am interested in intrasubject registration following denoising/ eddy (topup) corrections/recombinations/ masking/ skull stripping/ bias field correction. For example, DTI-TK has been suggested/published to perform well, but often the preprocessing steps (for tensor calculation in this example) make excursions to camino and other software packages, making things a bit complicated.
Thank you,
Interesting topic, especially in the case where no reversed phase encoded data is available (else, an affine registration should be sufficient).
Maybe this thread can already give you some information of what you could try: Distortion correction using T1
In the past I have experimented by using ANTS with registering the FA image to a WM mask, combined with the registration between the average DWI and the T1 brain image (see Fig. 1 in this paper: https://www.ncbi.nlm.nih.gov/pubmed/25840837). Although it worked well and results seemed very nice, I was told that using the WM mask (which has very strong intensity gradients) can potentially introduce strong local deformations, so perhaps there exist better ways (see the thread I linked above). After that I haven’t experimented with it again.
N.B. I wasn’t yet using mrtrix back then, but ANTS registrations are easily importable into mrtrix (see the transformconvert command). So any other intra-subject registration approach based on ANTS can be integrated in your mrtrix pipeline.
I am interested in intrasubject registration following … eddy (topup) corrections …
If you’ve performed image pre-processing including topup, then there should be no need to perform non-linear intra-subject registration: the dominant source of non-linear geometric differences between the two modalities is precisely what eddy & topup correct for. Indeed even affine registration has too many degrees of freedom; it should require a rigid-body registration only.
Trying to perform such correction in the absence of reversed phase-encode data is another topic entirely. I’ve heard many stories of people doing such things, but mostly in ways of which I would be highly sceptical. While it’s not implemented in MRtrix3, this paper would be worth reading for the sake of fully understanding the difficulty of the problem.