[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