[vtkusers] ICP not working well

Wes Turner wes.turner at kitware.com
Mon Mar 23 09:05:42 EDT 2009


Just a quick look, so you probably need to do some analysis on your own for
it.  Looking at the data sets, it appears that you are sampling Bunny.vtp
and using it to sample points from BunnyScan.vtp using ICP.  Since BunnyScan
only contains the front side of Bunny, any points sampled from the rear
surface of Bunny will not find a true match and will end up pulling the
registration toward the center of Bunny instead of the fine alignment of the
surface you are looking to get.  This is consistent with the data you are

You might be able to get what you are looking for simply by swapping the
source and target in the ICP, grabbing the Matrix4x4 from the ICP on
completion.  If you want to move Bunny to BunnyScan you will then need to
also grab the Matrix4x4 from icp, inverting it, and applying it as the
transform to Bunny for the alignment.  I believe that directly inverting the
icp just swaps source and target which will get you right back to your
current state.

All of this is from memory, so your mileage may vary.

- Wes

On Sat, Mar 21, 2009 at 11:48 AM, David Doria <daviddoria at gmail.com> wrote:

> Here are my input files / output file:
> http://www.rpi.edu/~doriad/Bunny/ <http://www.rpi.edu/%7Edoriad/Bunny/>
> I am trying to register Bunny.vtp to BunnyScan.vtp and the result is in
> MatchedBunny.vtp
> Here are my settings:
>     vtkIterativeClosestPointTransform * icp =
> vtkIterativeClosestPointTransform::New();
>     icp->SetMaximumNumberOfIterations(1000);
>     icp->SetMaximumMeanDistance(1e-6);
>     icp->GetLandmarkTransform()->SetModeToRigidBody();
> I believe I am calling everything correctly because the resulting point
> cloud is much nearer than the original. However it seems to still be
> significantly wrong. Anyone know why this would be?
> Thanks,
> David
> _______________________________________________
> Powered by www.kitware.com
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers

Wesley D. Turner, Ph.D.
Kitware, Inc.
R&D Engineer
28 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-371-3971 x120
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20090323/8e8db327/attachment.htm>

More information about the vtkusers mailing list