[Insight-users] initialize VersorRigid3DTransform

Johnson, Hans J hans-johnson at uiowa.edu
Sun Oct 23 17:01:45 EDT 2011


So to the question:  "Is this (./Registration/Common/include/itkCenteredVersorTransformInitializer) class useful?"   I think the answer is "No".

I think that the itkLandmarkBasedTransformInitializer.h class does  initialize a 3D versor from a set of landmarks.  In ITKv4 there is also support for initializing Affine transformations.

Hans


From: Bill Lorensen <bill.lorensen at gmail.com<mailto:bill.lorensen at gmail.com>>
Date: Sun, 23 Oct 2011 16:35:10 -0400
To: Hans Johnson <hans-johnson at uiowa.edu<mailto:hans-johnson at uiowa.edu>>
Cc: Dean Inglis <dean.inglis at camris.ca<mailto:dean.inglis at camris.ca>>, "insight-users at itk.org<mailto:insight-users at itk.org>" <insight-users at itk.org<mailto:insight-users at itk.org>>
Subject: Re: [Insight-users] initialize VersorRigid3DTransform

So how can we help Dean?

On Sun, Oct 23, 2011 at 11:18 AM, Johnson, Hans J <hans-johnson at uiowa.edu<mailto:hans-johnson at uiowa.edu>> wrote:
Bill,

In ITKv4 the "Centered" transforms are likely to be deprecated.

Brian Avants and Luis Ibanez provided the following:


  1.  Rationale for removing the CenteredTransforms

The goal of the centered transforms was to attempt to optimize both the center of rotation and the transform parameters.  This leads to a poorly posed optimization problem because, as one changes the center of rotation, the optimization landscape also changes leading to unstable performance.


  1.  A recommended ITKv4 upgrade path for those using the centered transform

If you were using the centered transforms, we recommend replacing the centered transform with its non-centered equivalent.  Then, where one previously wrote:

transform->SetCenter(center)

one would now write

transform->SetFixedParameters(fixed_parameters)

where the fixed_parameters will depend on which transform is being used.   For matrix transforms, this will be the center of rotation (check this) and may be equal to the image's origin.    For dense mappings ( BSpline, displacement fields )  , this will be the image spacing, direction, origin.



Hans


From: Bill Lorensen <bill.lorensen at gmail.com<mailto:bill.lorensen at gmail.com>>
Date: Sun, 23 Oct 2011 11:11:32 -0400
To: Dean Inglis <dean.inglis at camris.ca<mailto:dean.inglis at camris.ca>>
Cc: <insight-users at itk.org<mailto:insight-users at itk.org>>
Subject: Re: [Insight-users] initialize VersorRigid3DTransform

Is this class useful?
./Registration/Common/include/itkCenteredVersorTransformInitializer


On Sat, Oct 22, 2011 at 12:44 PM, Dean Inglis <dean.inglis at camris.ca<mailto:dean.inglis at camris.ca>> wrote:
how can I initialize a VersorRigid3DTransform for a point set
to image registration problem using the following information:
1) center of the moving points, c
2) principal axes of the moving points, e1, e2, e3
3) center of the image calculated using the ImageMomentsCalculator, cofg
4) principal axes of the image calculated using the ImageMomentsCalculator, p1, p2, p3

where all variables above are double arrays of size 3?  Bascally, I would like
to be able to initialize the transform:
  ParametersType parameters( transform->GetNumberOfParameters() );

 //  Versor type
  typedef    TransformType::VersorType      VersorType;
  VersorType versor;

  parameters[0] = versor.GetX();   // Rotations
  parameters[1] = versor.GetY();
  parameters[2] = versor.GetZ();
  parameters[3] = 0.0;             // Translations
  parameters[4] = 0.0;
  parameters[5] = 0.0;


  transform->SetParameters( parameters );

but I dont know how the rotations should be initialized.  I could calculate a 3x3 rotation
matrix :
A = e * p
where e = {e1,e2,e3} and p = {p1,p2,p3} but how could that be used to initialize the
transform?

Dean
_____________________________________
Powered by www.kitware.com<http://www.kitware.com>

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.html

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-users

_____________________________________ Powered by www.kitware.com<http://www.kitware.com> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.html Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://www.itk.org/mailman/listinfo/insight-users


________________________________
Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged.  If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited.  Please reply to the sender that you have received the message in error, then delete it.  Thank you.
________________________________



________________________________
Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged.  If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited.  Please reply to the sender that you have received the message in error, then delete it.  Thank you.
________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20111023/f3ea1bf2/attachment.htm>


More information about the Insight-users mailing list