[ITK-users] Is this a bug in euler 3D transform??

Matt McCormick matt.mccormick at kitware.com
Thu Jan 21 13:48:50 EST 2016


Hi,

It sounds like there is confusion between FixedParameters and
Parameters.  When the FixedParameters are set, the Parameters are not
affected.  To mask out a transform's Parameters, call SetWeights [1].

When performing a 3D rigid registration, the VersorTransform behaves
better than the Euler3DTransform.

HTH,
Matt

[1] http://www.itk.org/Doxygen/html/classitk_1_1ObjectToObjectOptimizerBaseTemplate.html

On Wed, Jan 20, 2016 at 6:16 AM, vishal <itkhelpacc at gmail.com> wrote:
> hi,
> Im working on a 2d/3d registration algorithm... Im using Euler3dtransform...
> the registration doesnt converge  since the 3d volume tends to translate
> during the registration process... i have tried these examples
> [1]http://www.itk.org/Doxygen/html/SphinxExamples_2src_2Core_2Transform_2CopyANonCompositeTransform_2Code_8cxx-example.html#_a0
> [2]http://www.itk.org/Doxygen/html/SphinxExamples_2src_2Core_2Transform_2CopyACompositeTransform_2Code_8cxx-example.html#_a0
>
> in [1] they use TransformType::ParametersType fixedParameters(3); to set the
> rotation constant and only allow the volume to translate( this is my
> understanding of the code...pls correct me if im wrong) when i applied this
> to my code it ISNT working properly.... i was expecting euler parameters to
> be [-3.5;-4.5;-5.5;
> some-X-axis-translation;some-Yaxis--translation,some-Zaxis--translation];
> this doesnt happen...
>
> here is a piece of my code where i attempt to STOP the volume from
> translating during registration and only allow the volume to rotate about
> the z-axis:-
>
> #if defined(ITK_FIXED_PARAMETERS_ARE_DOUBLE) // After 4.8.1
>    TransformType::FixedParametersType fixedParameters(3);
> #else                                         //Pre 4.8.1
>   TransformType::ParametersType fixedParameters(6);
> #endif
>   fixedParameters[3] = 0.0;
>   fixedParameters[4] = 0.0;
>   fixedParameters[5] = 0.0;
>   transform->SetFixedParameters( fixedParameters );
>   registration->SetInitialTransformParameters( transform->GetParameters() );
>
> i was expecting euler parameters to be [some-X axis-rotation;some-Y
> axis-rotation,some-Z axis-rotation,0.0,0.0,0.0]; this doesnt happen...
> please advice if this is an error [OR] a wrong implementation [OR] is
> disabling translation in euler transform is IMPOSSIBLE? any advice is
> appreciated...
> Regards
> Vishal
>
>
>
>
>
> --
> View this message in context: http://itk-users.7.n7.nabble.com/Is-this-a-bug-in-euler-3D-transform-tp36662.html
> Sent from the ITK - Users mailing list archive at Nabble.com.
> _____________________________________
> 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://public.kitware.com/mailman/listinfo/insight-users


More information about the Insight-users mailing list