[Insight-users] Upsample bspline grid in deformableregistration6
Reinhard Hameeteman
reinhard.afstuderen at gmail.com
Tue Mar 6 12:09:47 EST 2007
After reading this thread
http://public.kitware.com/pipermail/insight-users/2004-July/009646.html
and deformableregistration6.cxx I am still a bit confused about the
use of the parameter image in the BSplineDeformableTransform.
The comments (and thus the software guide) says
//
// Now we need to initialize the BSpline coefficients of the higher
resolution
// transform. This is done by first computing the actual deformation field
// at the higher resolution from the lower resolution BSpline coefficients.
// Then a BSpline decomposition is done to obtain the BSpline coefficient of
// the higher resolution transform.
//
My question is the following: If I look at the code I don't see the
calculation of the actual deformation field. Instead the coefficients
of the lower resolution are simply upsampled:
upsampler->SetInput( transformLow->GetCoefficientImage()[k] );
I don't see how this would produce a deformation field, since the
coefficients are the BSpline coefficients and not the vector
components (right?).
>From this upsampled image the BSpline coefficients are then computed:
decomposition->SetInput( upsampler->GetOutput() );
This is something I can't really follow. When the upsampled
coefficient image would turn into a vector component image this is
understandable. It doesn't seem to make sense to decompose a
coefficient image I guess.
So, to my understanding there are two way to upsample the transform:
1. the transformLow can be used to create a real defromation field,
like is done in DeformableRegistration4.cxx, use a resampler to get
the displacement at the new node points and use a decomposition to get
the BSpline coefficients.
2. Simply upsample the coefficient image and set the parameters of the
transformHigh with these values. This seems the most reasonable one
since it doesn't have to be an exact resampling, but there is no
decomposition this way.
The way I see it now, the current example mixes these 2 approaches in
a not very meaningful way.
Please correct me if I'm wrong!
Thanks for a great toolkit and any support is appreciated,
Reinhard
More information about the Insight-users
mailing list