Discussion:
[ITK-users] [ITK] reference for setting versor components
Andrew Harris
2017-05-12 14:06:09 UTC
Permalink
Hello,
I'm hoping someone has a reference that will allow me to convert from a 3X3
rotation matrix to a 3-member versor rotation for the purposes of setting a
known rotation about one axis as an initialization. For instance, if I
wanted the equivalent of a 10 degree rotation about the x-axis, I can build
a 3X3 rotation matrix using sines and cosines, but the project I'm working
on is using VersorRigid3DTransform as the transform type for the
registration, so I'd like to use that for the initial transform.

Any help is appreciated, thanks.

--

AH


-----------------------------------------------------------------------------------------------

*This email and any attachments thereto may contain private,
confidential, and privileged materials for the sole use of the intended
recipient. Any reviewing, copying, or distribution of this email (or any
attachments thereto) by other than the intended recipient is strictly
prohibited. If you are not the intended recipient, please contact the
sender immediately and permanently destroy this email and any attachments
thereto.*
Yaniv, Ziv Rafael (NIH/NLM/LHC) [C]
2017-05-12 14:18:31 UTC
Permalink
As far as I remember this class has a SetMatrix method, just be careful as the rotation will be around a given center.

The ITK global domain transformations are all of the form A(x-c) + t + c , with the nomenclature being A: matrix, c: center, t: translation, and offset: t+c-Ac

hope this helps
Ziv


From: Andrew Harris <***@uwo.ca>
Date: Friday, May 12, 2017 at 10:06 AM
To: Insight-users <insight-***@itk.org>
Subject: [ITK-users] [ITK] reference for setting versor components

Hello,
I'm hoping someone has a reference that will allow me to convert from a 3X3 rotation matrix to a 3-member versor rotation for the purposes of setting a known rotation about one axis as an initialization. For instance, if I wanted the equivalent of a 10 degree rotation about the x-axis, I can build a 3X3 rotation matrix using sines and cosines, but the project I'm working on is using VersorRigid3DTransform as the transform type for the registration, so I'd like to use that for the initial transform.

Any help is appreciated, thanks.
--
AH



-----------------------------------------------------------------------------------------------

This email and any attachments thereto may contain private, confidential, and privileged materials for the sole use of the intended recipient. Any reviewing, copying, or distribution of this email (or any attachments thereto) by other than the intended recipient is strictly prohibited. If you are not the intended recipient, please contact the sender immediately and permanently destroy this email and any attachments thereto.
Andrew Harris
2017-05-12 15:21:10 UTC
Permalink
Hi Ziv, thanks for the response. There is no SetMatrix method directly
stated in the API, is it maybe inherited from a super class?

--

AH


-----------------------------------------------------------------------------------------------

*This email and any attachments thereto may contain private,
confidential, and privileged materials for the sole use of the intended
recipient. Any reviewing, copying, or distribution of this email (or any
attachments thereto) by other than the intended recipient is strictly
prohibited. If you are not the intended recipient, please contact the
sender immediately and permanently destroy this email and any attachments
thereto.*

On Fri, May 12, 2017 at 10:18 AM, Yaniv, Ziv Rafael (NIH/NLM/LHC) [C] <
Post by Yaniv, Ziv Rafael (NIH/NLM/LHC) [C]
As far as I remember this class has a SetMatrix method, just be careful as
the rotation will be around a given center.
The ITK global domain transformations are all of the form A(x-c) + t + c
, with the nomenclature being A: matrix, c: center, t: translation, and
offset: t+c-Ac
hope this helps
Ziv
*Date: *Friday, May 12, 2017 at 10:06 AM
*Subject: *[ITK-users] [ITK] reference for setting versor components
Hello,
I'm hoping someone has a reference that will allow me to convert from a
3X3 rotation matrix to a 3-member versor rotation for the purposes of
setting a known rotation about one axis as an initialization. For
instance, if I wanted the equivalent of a 10 degree rotation about the
x-axis, I can build a 3X3 rotation matrix using sines and cosines, but the
project I'm working on is using VersorRigid3DTransform as the transform
type for the registration, so I'd like to use that for the initial
transform.
Any help is appreciated, thanks.
--
AH
------------------------------------------------------------
-----------------------------------
*This email and any attachments thereto may contain private,
confidential, and privileged materials for the sole use of the intended
recipient. Any reviewing, copying, or distribution of this email (or any
attachments thereto) by other than the intended recipient is strictly
prohibited. If you are not the intended recipient, please contact the
sender immediately and permanently destroy this email and any attachments
thereto.*
Andrew Harris
2017-05-12 15:23:30 UTC
Permalink
Of course, looking for myself works too :)

Thanks for the help, appreciated!

--

AH


-----------------------------------------------------------------------------------------------

*This email and any attachments thereto may contain private,
confidential, and privileged materials for the sole use of the intended
recipient. Any reviewing, copying, or distribution of this email (or any
attachments thereto) by other than the intended recipient is strictly
prohibited. If you are not the intended recipient, please contact the
sender immediately and permanently destroy this email and any attachments
thereto.*
Post by Andrew Harris
Hi Ziv, thanks for the response. There is no SetMatrix method directly
stated in the API, is it maybe inherited from a super class?
--
AH
------------------------------------------------------------
-----------------------------------
*This email and any attachments thereto may contain private,
confidential, and privileged materials for the sole use of the intended
recipient. Any reviewing, copying, or distribution of this email (or any
attachments thereto) by other than the intended recipient is strictly
prohibited. If you are not the intended recipient, please contact the
sender immediately and permanently destroy this email and any attachments
thereto.*
On Fri, May 12, 2017 at 10:18 AM, Yaniv, Ziv Rafael (NIH/NLM/LHC) [C] <
Post by Yaniv, Ziv Rafael (NIH/NLM/LHC) [C]
As far as I remember this class has a SetMatrix method, just be careful
as the rotation will be around a given center.
The ITK global domain transformations are all of the form A(x-c) + t + c
, with the nomenclature being A: matrix, c: center, t: translation, and
offset: t+c-Ac
hope this helps
Ziv
*Date: *Friday, May 12, 2017 at 10:06 AM
*Subject: *[ITK-users] [ITK] reference for setting versor components
Hello,
I'm hoping someone has a reference that will allow me to convert from a
3X3 rotation matrix to a 3-member versor rotation for the purposes of
setting a known rotation about one axis as an initialization. For
instance, if I wanted the equivalent of a 10 degree rotation about the
x-axis, I can build a 3X3 rotation matrix using sines and cosines, but the
project I'm working on is using VersorRigid3DTransform as the transform
type for the registration, so I'd like to use that for the initial
transform.
Any help is appreciated, thanks.
--
AH
------------------------------------------------------------
-----------------------------------
*This email and any attachments thereto may contain private,
confidential, and privileged materials for the sole use of the intended
recipient. Any reviewing, copying, or distribution of this email (or any
attachments thereto) by other than the intended recipient is strictly
prohibited. If you are not the intended recipient, please contact the
sender immediately and permanently destroy this email and any attachments
thereto.*
Loading...