Cross-correlation metric as in Raffelt et al. 2011


I know it has been mentioned in many posts that there are plans in the future to include cross-correlation and/or MI metrics to mrregister as they are not yet implemented. That being said, I was wondering how exactly the cross-correlation metric was implemented in Raffelt et al. 2011, Symmetric diffeomorphic registration of fibre orientation distributions in Neuroimage. Was this coded in-house? or was this analysis performed using ants software?

Following my post (Poor registration with mrregister compared with ANTs), which has considerably improved my original registration, I have pushed the registration for my patient population as far as I can go with the squared difference metric. However, as was noted, there are still some differences that can be improved.

Since ANTs CC worked better on my FA maps than the squared difference metric (see figure in previous post), I was curious to see if I could achieve a similar result on my fod volumes (and also to not mix metrics). I’m wondering if it is feasible to estimate transformations with ANTs (using FODs as input images, and the CC metric), and then mrtrix functions to reorient the fod’s after a single iteration (was this what was done in the paper, actually?). If so, it seems like something that is reasonably codable. In any case, I am very interested in using the same (or at least, an adapted) methodology as in Raffelt et al. 2011, even if it is ultimately longer than mrregister.

Thanks for any direction in this,

This was a modification of an older version of ANTS. It couldn’t just be constructed as a separate MRtrix and ANTS part, since the reorientation of the FODs is deeply embedded in the registration algorithm at each iteration… @Dave coded that up back then, long before there were even any registration features native to MRtrix itself. But again: this is all just for the case of FODs, where we do notice that the current implementation in MRtrix is incredibly robust, if and only if your FODs come from CSD with the same responses across both/all subjects and if and only if proper intensity normalisation and bias field correction has been performed.

For FA maps, you’re looking at an entirely different story. These can’t even be properly warped in principle, since warping would in theory change the underlying fibre architecture, yet the FA has lost specific information on it. (using FODs, this information is still there and can be properly reoriented / retransformed).

Yep, that is codable, but I’m not sure you’d gain much for the case of FOD registration. For FA maps, you can in principle just use ANTs if that seems to work better for the cases you’re working on.

Maybe the original code still exists even, but I’m not sure how user-friendly it’ll be… @Dave may be able to provide you with it, if he still has it / has access to it somewhere. I’m not sure if he still actively checks this forum though, so you may want to email him if you’re really keen on pursuing this…

Hi Eric,

Hope I understand your question correctly! But, I have also had issues with registration (TBI brains :wink:)! So, I tried ANTS with fod images as input for template building and co-registering individual brains.

As a test, I took just the 1st volume of the fod images, and it does work!

Assuming you have the individual warps from the brains, follow this post Registration: using transformations generated from other packages

A small issue: there is a dollar sign missing in the line: do WarpImageMultiTransform 3 identity_warp${i}.nii mrtrix_warp${i}.nii

I hope this helps :slight_smile:


1 Like