[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