[Insight-users] initialize VersorRigid3DTransform

Dean Inglis dean.inglis at camris.ca
Sun Oct 23 21:36:38 EDT 2011


unfortunately, for this problem, there are no landmarks: there is a set
of points from a surface probe of a subject and a 3D CT image
of the same subject captured at a different point in time.

Dean



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.
________________________________



More information about the Insight-users mailing list