[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