[Insight-users] how to do 2D to 3D ICP

Alireza Salamy alireza_sal2000 at yahoo.com
Sun Apr 8 12:23:01 EDT 2007


Hi Luis,
  I think that I got the answer of my previous question which was :''In which part of the code iterativeclosestpoint2.cxx shall we make some changes to use ItkRigid3DPerspectiveTransform.h instead of ItkEuler3DTranform.h?''  
  Now I would like to check out with you if I get the right idea or not:
   
  #include"ItkRigid3DPerspectiveTransform.h" instead of #include "itkEuler3DTransform.h"
   
  #include"ItkCenterTransformInitializer.h" I must add this header file.
   
  Typedef itk::Rigid3DPerspectiveTransform.h<double>TransformType; instead of 
  typedef itk::Euler3DTransform< double > TransformType;
   
  type itk::CenteredTransformInitializer<TransformType,
                                                          FixedPointsetType,
                                                           MovingPointsetType>TransformInitializerType;
  I Must add the above line
   
  TransformInitializerType::Pointer Initializer=TransformInitializerType::New(); 
   
  I must add the above line
   
  initializer->SetTransform( transform );
  initializer->SetFixedpointSet( fixedPointSet->GetOutput() );
  initializer->SetMovingImage( movingPointSet->GetOutput() );
  initializer->GeometryOn();
  initializer->InitializeTransform();
  transform->SetAngle( 0.0 );
  registration->SetInitialTransformParameters( transform->GetParameters() );
   
  I must add the above lines also
   
  after that we  Scale the translation components of the Transform in the Optimizer in the same way that IterativeClosestPoint2.CXX do and than connect all the components require for registration.Are these the required changes for coverting ItkEuler3DTranform.h to ItkRigid3DPerspectiveTransform.h in the IterativePointset2.CXX?
   
  The second question is :If I gonna write the above algorithm,Shall I make the changes on IterativeClosestPoint2.CXX or I have to launch a new project?if I have to launch a new project,how can I write the Cmake.list to build my project?
  Thank you very much for your useful help.
  Alireza
   
  

Luis Ibanez <luis.ibanez at kitware.com> wrote:
  
Hi Alireza,

1) I assume that your collection of 2D points are the
projections in a plane, of points that originally
were in 3D. Is that right ?

2) If so, you can use as a transform the:
http://www.itk.org/Insight/Doxygen/html/classitk_1_1Rigid3DPerspectiveTransform.html



Regards,


Luis


-----------------------
Alireza Salamy wrote:
> Hi all users,
> I would like to know how can we calculate the rotation from versor?Are 
> the three first parameter in the solution of Itarative closestpoint2,versor?
> the second question is related to 2D/3D point set registration.Can any 
> body tell me in which part of the code of Itarativeclosestpoint2 shall I 
> make some changes to convert it from 3D/3D pointset registration to 
> 2D/3D pointset registration?
> thanks alot,
> Alireza
> 
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users


 
---------------------------------
Don't get soaked.  Take a quick peek at the forecast 
 with theYahoo! Search weather shortcut.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/insight-users/attachments/20070408/231ddc79/attachment.html


More information about the Insight-users mailing list