[ITK Community] [Insight-users] 4x4 matrix to itkTransform
Vikash Gupta
vikash.gupta at inria.fr
Thu Jan 30 16:57:18 EST 2014
Hi Matt,
Thanks for the links and explanation. Yes it is clear now and the problem is resolved.
Sincerely
Vikash
----- Original Message -----
> From: "Matt McCormick" <matt.mccormick at kitware.com>
> To: "Vikash Gupta" <vikash.gupta at inria.fr>
> Cc: "insight-users at itk org" <insight-users at itk.org>
> Sent: Thursday, January 30, 2014 5:23:16 PM
> Subject: Re: [ITK Community] [Insight-users] 4x4 matrix to itkTransform
>
> Hi Vikash,
>
> To figure this out, start at the AffineTransform Doxygen
> documentation [1].
>
> Looking at the Inheritance Diagram, we see it inherits from
> MatrixOffsetTransformBase [2]. Looking at the implementation of
> SetParameters in MatrixOffsetTransformBase [3] shows the order of the
> parameters.
>
> We can verify with some code [4]. The output is:
>
> matrix4x4: 1 2 3 4
> 5 6 7 8
> 9 10 11 12
> 0 0 0 1
>
> extendedPoint: [3.3, 2.8, -4.7, 1]
> transformedExtendedPoint: [-1.2, 8.4, 18, 1]
> parameters: [1, 2, 3, 5, 6, 7, 9, 10, 11, 4, 8, 12]
> transform: AffineTransform (0xe89710)
> RTTI typeinfo: itk::AffineTransform<float, 3u>
> Reference Count: 2
> Modified Time: 16
> Debug: Off
> Object Name:
> Observers:
> none
> Matrix:
> 1 2 3
> 5 6 7
> 9 10 11
> Offset: [4, 8, 12]
> Center: [0, 0, 0]
> Translation: [4, 8, 12]
> Inverse:
> 1 0 0
> 0 1 0
> 0 0 1
> Singular: 1
>
> transformedPoint: [-1.2, 8.4, 18]
>
>
> And the output file:
>
> #Insight Transform File V1.0
> #Transform 0
> Transform: AffineTransform_float_3_3
> Parameters: 1 2 3 5 6 7 9 10 11 4 8 12
> FixedParameters: 0 0 0
>
> Hope this helps,
> Matt
>
> [1] http://www.itk.org/Doxygen/html/classitk_1_1AffineTransform.html
> [2]
> http://www.itk.org/Doxygen/html/classitk_1_1MatrixOffsetTransformBase.html
> [3]
> http://itk.org/gitweb?p=ITK.git;a=blob;f=Modules/Core/Transform/include/itkMatrixOffsetTransformBase.hxx;h=24bd8d5f0cc64dfdf6b283a37cd8d460802fe2ad;hb=HEAD#l602
> [4] https://gist.github.com/thewtex/8712205
>
> On Tue, Jan 28, 2014 at 3:43 PM, Vikash Gupta <vikash.gupta at inria.fr>
> wrote:
> > Hi Matt,
> > Thanks for the reply...
> > However in [1] the test.tfm (which I believe is a matrix file) is
> > not there. but I can try to code. Just so that I am clear
> > If the input matrix is
> >
> > a b c d
> > e f g h
> > i j k l
> > 0 0 0 1
> >
> > The parameters in the transform file will look like
> >
> > a b c e f g i j k d h l
> >
> > Am i right ?
> >
> > Thanks
> > Vikash
> >
> > ----- Original Message -----
> >> From: "Matt McCormick" <matt.mccormick at kitware.com>
> >> To: "Vikash Gupta" <vikash.gupta at inria.fr>
> >> Cc: "insight-users at itk org" <insight-users at itk.org>
> >> Sent: Tuesday, January 28, 2014 8:11:31 PM
> >> Subject: Re: [ITK Community] [Insight-users] 4x4 matrix to
> >> itkTransform
> >>
> >> Hi Vikash,
> >>
> >> The Transform of interest can be instantiated and then its values
> >> set
> >> with the "SetParameters" method. See the transform code for
> >> order.
> >> For an affine transform like the one referenced, note that it is
> >> typically stored as affine matrix + translation, eliminating the
> >> need
> >> for the "0 0 0 1" in the bottom row. There is also often a center
> >> of
> >> rotation that is stored.
> >>
> >> The transform can then be written to file with the
> >> TransformFileWriterTemplate class [1]
> >>
> >> Hope this helps,
> >> Matt
> >>
> >> [1]
> >> http://www.itk.org/Doxygen/html/classitk_1_1TransformFileWriterTemplate.html
> >>
> >> On Tue, Jan 28, 2014 at 1:27 PM, Vikash Gupta
> >> <vikash.gupta at inria.fr>
> >> wrote:
> >> > Hey everyone
> >> > I am little bit lost like if there is a tool that exist that
> >> > will
> >> > convert a
> >> > 4x4 matrix to a ITKTransform type
> >> >
> >> > For example, essentially
> >> > input format
> >> >
> >> > 0.990242 0.0089482 0.0115564 -55.2129
> >> > -0.00411503 0.978607 0.0120489 -60.1255
> >> > -0.00965018 -0.00686595 0.979628 74.2065
> >> > 0 0 0 1
> >> >
> >> > Output
> >> > #Insight Transform File V1.0
> >> > # Transform 0
> >> > Transform: AffineTransform_double_3_3
> >> > Parameters: -0.997192 0.0283671 -0.0693022 0.0158514 0.984462
> >> > 0.174879
> >> > -0.0731862 -0.173289 0.982148 -0.206132 -33.1051 7.77696
> >> > FixedParameters: 0 0 0
> >> >
> >> >
> >> > Any help would be really appreciated.
> >> >
> >> > Thanks
> >> > Vikash
> >> >
> >> > _____________________________________
> >> > Powered by 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.php
> >> >
> >> > 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
> >> >
> >> > _______________________________________________
> >> > Community mailing list
> >> > Community at itk.org
> >> > http://public.kitware.com/cgi-bin/mailman/listinfo/community
> >> >
> >>
>
_____________________________________
Powered by 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.php
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
More information about the Community
mailing list