[Insight-users] registration without using moments or geometry
Kajetan Berlinger
kaje at kaje.info
Wed Jun 14 14:00:11 EDT 2006
Rick Shilling wrote:
> In doing itk registration, I already have a good initial estimate of the transformation WITHOUT using the itk::CenteredTransformInitializer momentsOn() or Geometry() methods. With matrix & offset as my initial transform estimate I have:
>
> ...
> transform->SetMatrix(matrix);
> transform->SetOffset(offset);
> registration->SetInitialTransformParameters( transform->GetParameters() );
> ...
>
> Though on first iteration of registration->StartRegistration(); all points map outside the volume.
>
> As a sanity check, I then used itk::CenteredTransformInitializer with the momentsOn() method & was able to successfully register the volumes. I then used that exact same initial estimate that MomentsOn() produced & hardcoded that matrix & offset as my initial transform REMOVING the itk::CenteredTransformInitializer object from the code. Though, again, on first iteration of registration->StartRegistration(); all points map outside the volume. Since it is clear that this initial estimate can provide working registration, do I need the itk::CenteredTransformInitializer object? If not, what object/methods need to be called so that I can use my own estimate without having exceptions thrown?
>
> Thanks.
> Rick Shilling
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
Hi Rick,
you should use transform->SetCenter( rotationCenter );
transform->SetTranslation( translationVector );
to initialize the registration, instead of using an initial transformation.
Then you will get the same result, compared to that of MomentsOn().
Just have a look at the code in itkCenteredTransformInitializer.txx (Method InitializeTransform()).
cu
kaj
More information about the Insight-users
mailing list