[Insight-users] registration and spacing

Michael Kuhn michakuhn at gmx . ch
Thu, 10 Jul 2003 09:48:36 -0600


Hi,

I'm trying to do a registration using 3D Data (pixel type short). The 
general setup is as follows:

The input consists of one file containing the data. The data is then 
transformed using a ResampleImageFilter which applies a translation to 
it. Afterwards, the original as well as the transformed image are fed 
into a ImageRegistrationMethod as fixed (original) and moving 
(translated) image respectively.

If the spacing of both data sets is set to 1.0 (in every direction), the 
registration works fine. However if I scale the spacings as well as the 
translation vector (for the translation itself as well as the 
initalParameters for the registration) and the minimum/maximum step 
length with the same factor, the registration doesn't work any longer 
(i.e. produces incorrect results). The origin of the data was set to 
[0,0,0].

I would expect that the registration works for any common scaling of 
these parameters, however, it doesn't. Can somebody explain me why?

My dataset has a size of [40,40,40] and I translate it with parameters 
FACTOR * [-1, -2, 0]. The initial parameters are set to FACTOR * [2,2,0] 
(where FACTOR is the common scaling factor mentioned above). The max and 
min step length are set to FACTOR * 4.0 and FACTOR * 0.01 respectively.

For the initial transform as well as the registration I use a 
TranslateTransform<double, 3> and a 
LinearInterpolateImageFunction<ImageType, double>. The registration is 
done using a RegularStepGradientDescentOptimzer and a 
MeanSquaresImageToImageMetric.

Thanks,

Michael