[Insight-users] itkResampleImageFilter

Martin Urschler martin at urschler.info
Tue Jun 21 16:37:12 EDT 2005


Luis Ibanez wrote:
> This is not an issue of the ResampleImageFilter;
> instead, it relates to the Interpolator that you
> choose to plug in it.
> 
> I couldn't find in your code the interpolator
> that you use...

I'm using the default interpolator that is instantiated in the 
ResampleImageFilter, the LinearInterpolator.
This interpolator is exactly what I need for resampling. The only 
problem is, that it won't work at the image border. I'm looking at a 
voxel value as being located in the center of an n-dimensional cube with 
the the image spacings as its side length. Now if I e.g. have voxel 
spacings in the range of 10mm and I perform a translation of say 1mm in 
z direction, I would expect that I DON'T leave the physical image 
domain. Instead I would expect that each voxel is linearly interpolated 
from its neighbours in the interior of the image (which is the normal 
and working behaviour) AND that each new border voxel is somehow 
interpolated from the fixed image border voxel (i.e. nearest neighbor).
So I guess it comes down to the border handling of the Interpolator 
functions which IMHO is currently missing.

An example to illustrate what I want to say:

1-D Fixed Image, each x is a voxel that represents the values between 
say 3mm areas separated by the '|':

|  x  |  x  |  x  |  x  |


1-D Moving Image is the fixed image translated by 1mm to the right:

|   x |   x |   x |   x |

In the current implementatonThe rightmost x is set to the default value, 
although there



, except in those cases that I described, namely if the transform that 
is used has very small values compared to the image spacings. In this 
case the borders of the data set are imho not considered correctly.

I'm performing the following task. I'm registering brain images rigidly 
with a versor3dtransform (meansquares metric, versorOptimizer). The 
expected registration result is very small, there is only a small 
translation and/or rotation in the images.

E.g. I have images with spacings around 1mm and expected translations of 
around 0.5 mm. Another issue is, that the bone structures that I use for 
registration (imageMaskSpatialObject) are reaching till the edges of my 
data set. So, if I the registration process translates the moving image 
by let's say 0.1 mm in an initial step,






-- 
Martin Urschler
TU Graz - Institute for Computer Graphics & Vision
EMail: martin at urschler.info  ICQ: 41586273
Web: http://www.urschler.info
-----------------------------------------------------------
"Wehre nichts ab, was zu dir kommt, und halte nichts fest, was von dir 
geht."


More information about the Insight-users mailing list