Interpolation Algorithms

Hi MRTrixler,

I’ve seen you have 4 of them, but which one is the best? Is there a paper or something out there. And why did you choose the cubic as standard? Something to read about it out there?



1 Like

Hello @Ralf ,

NearestNeighbor may be better.


Hi Ralf,

There are definitely specific contexts in which one interpolation strategy is preferable / necessary for a specific purpose. E.g. “index” images require nearest neighbour in order to preserve the respective labels; we use linear during tractography as it’s faster than more complex techniques.

In the very general case of an arbitrary context-less image being resampled to a new image grid, I have some recollection of a bit of a debate having happened about what should be the default. Personally I had advocated for sinc being the default as it’s considered “optimal” from an information theory perspective. From memory, in the context of upsampling DWI data for the FBA pipeline, it was observed that using tri-cubic led to FODs that were somehow “preferable”, though I don’t recall the details. I believe a lot of other softwares use b-splines; which we don’t have implemented, but with the structure of the MRtrix3 C++ API such additions are entirely feasible.

Curious to hear others’ thoughts on this one