[ITK-users] problem using VersorRigid3DTransform fo 2d/3d registration...Please advice??

Dženan Zukić dzenanz at gmail.com
Tue Feb 2 15:36:04 EST 2016


Hi Vishal,

you probably need to change the line in
itkSiddonJacobsRayCastInterpolateImageFunction.h
<https://github.com/midas-journal/midas-journal-784/blob/master/itkSiddonJacobsRayCastInterpolateImageFunction.h>
which says:
typedef Euler3DTransform<TCoordRep> TransformType;

If you make improvements, would you mind making a pull request to the
repository <https://github.com/midas-journal/midas-journal-784> so others
can benefit from your work?

Regards

On Tue, Feb 2, 2016 at 7:24 AM, vishal <itkhelpacc at gmail.com> wrote:

> hi,
> Im currently working on registering 2d x ray image with 3d CT volume (2d/3d
> registration algorithm) and I have obtained pretty good results by using
> euler 3d transform, siddon Raycast interpolator, powell optimizer and NCG
> metric.. I read some post in the mailing list saying that using Versor 3d
> transform for such application is feasible and I tried it unfortunately Im
> not able to connect the Siddon ray cast interpolator to versor 3d
> transform... this the piece of the code where im initializing the
> interpolator
>
>   const double dtr = ( atan(1.0) * 4.0 ) / 180.0;
>   interpolator1->SetProjectionAngle( dtr*projAngle1 );
>   interpolator1->SetFocalPointToIsocenterDistance(scd);
>   interpolator1->SetThreshold(threshold);
>   interpolator1->SetTransform(transform); // this line the error occurs
>   interpolator1->Initialize();
>    registration->SetInitialTransformParameters( transform->GetParameters()
> );
>
>  the error is as follows..
> error C2664:
>
> 'itk::SiddonJacobsRayCastInterpolateImageFunction<TInputImage,TCoordRep>::SetTransform'
> : cannot convert parameter 1 from 'itk::SmartPointer<TObjectType>' to
> 'itk::Euler3DTransform<TParametersValueType> *'
> D:\Project_realted_example\MyOwnCodeRegistratonWithVersor\versor.cxx    696
>
> IntelliSense: no suitable conversion function from
> "itk::SmartPointer<itk::VersorRigid3DTransform<double>>" to
> "itk::Euler3DTransform<double> *" exists
> d:\Project_realted_example\MyOwnCodeRegistratonWithVersor\versor.cxx    696
>
>
> its seems as though it is impossible to connect siddon ray casting
> interpolator to the versor 3d transform and IT ONLY WORKS with Euler3d
> transform...
> please give me some advice.. how can I solve this problem?
> Regards
> Vishal
>
>
>
> --
> View this message in context:
> http://itk-users.7.n7.nabble.com/problem-using-VersorRigid3DTransform-fo-2d-3d-registration-Please-advice-tp36714.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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/insight-users/attachments/20160202/11e21132/attachment.html>


More information about the Insight-users mailing list