> Can someone comment on the differences between sinc and lagrange polynomial
> interpolation? in particular, are there known problems using the latter
> with fMRI timeseries?
There shouldn't be a problem as such. Nearest neighbour and trilinear
interpolation methods are both forms of polynomial interpolation (0th and 1st
order hold). Nearest neighbour interpolation reads off the value of the
nearest voxel. In order to assign a value between two points, linear
interpolation fits a straight line between the points and reads off the
appropriate value. 2nd order polynomial interpolation is the next step, and
interpolates using three points. It fits a polynomial through the three
nearest points and reads off the value at the interpolated point. 2nd order
polynomial interpolation does introduce slight discontinuities at the in the
middle of two voxels (because the choice of nearest voxels suddenly changes).
These descriptions are all in 1D. In 2 or 3D, the operation is performed
seperably (see http://www.fil.ion.ucl.ac.uk/~john/thesis/chapter2.pdf).
In practice, the operations need not be done using a matrix division (to
estimate the basis coefficients) and a matrix multiplication (to compute the
fit through the data). Instead, each interpolation is done by assigning a
weighted combination of the values of the neighbouring voxels.
Sinc interpolation is another method where the interpolated values are
derived by computing a weighted combination of the neighbouring voxels.
Instead of using polynomial basis functions, the windowed sinc interpolation
of SPM99 uses the equivalent of Fourier basis functions (I think) that have
been modulated by a hanning window (with a few other slight tweeks so that
the weights sum to one).
Higher order interpolation methods produce better interpolation. The default
sinc interpolation uses 10x10x10 (1000) nearest neighbours to do the
interpolation. 2nd order polynomial interpolation uses 3x3x3 (27).
Therefore, I would expect to see better interpolation with sinc.
When an image is resampled (eg during reslicing after realignment), it gets
degraded slightly. Therefore, if an image is rotated by 10 degrees and
resliced 36 times, then the final image is likely to be a degraded version of
the first. If a higher order interpolation method is used, the repeatedly
resampled image is not as degraded as it would be if a simpler interpolation
method had been used.
The reason for using higher order interpolation is to reduce errors from
reslicing realigned images. However, this is just one source of error.
There are many others. One notable source (for fMRI) arises from an
interraction between image distortion and head rotation (see Jespers recent
email).
The bottom line is that high order sinc interpolation should be better than a
low order polynomial interpolation. The relative difference between the
methods depends on what other sources of movement related error are present.
I hope I have clarified more than confused.
Best regards,
-John
--
Dr John Ashburner.
Wellcome Department of Cognitive Neurology.
12 Queen Square, London WC1N 3BG, UK.
tel: +44 (0)20 78337491 or +44 (0)20 78373611 x4381
fax: +44 (0)20 78131420
http://www.fil.ion.ucl.ac.uk/~john
mail: [log in to unmask]
|