<br><div class="gmail_quote">On Mon, Jun 15, 2009 at 3:08 AM, Sean Snyders <span dir="ltr">&lt;<a href="mailto:ssnyders@wetafx.co.nz">ssnyders@wetafx.co.nz</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
<br>
I use the example from:<br>
<a href="http://www.vtk.org/Wiki/Iterative_Closest_Points_%28ICP%29_Transform" target="_blank">http://www.vtk.org/Wiki/Iterative_Closest_Points_(ICP)_Transform</a><br>
<br>
and do a direct translation thereof in python (see code listed below).<br>
When I run the code, I get this warning:<br>
--------------<br>
Generic Warning: In ........./Common/vtkMath.cxx, line 758<br>
vtkMath::Jacobi: Error extracting eigenfunctions<br>
------------<br>
<br>
and my output transformed points are then:<br>
------------------<br>
xformed source point[0]=[nan, nan, nan]<br>
xformed source point[1]=[nan, nan, nan]<br>
xformed source point[2]=[nan, nan, nan]<br>
-----------------<br>
<br>
Should this example not work? I have not tested this with the c++ implementation, but surely it should work.<br>
<br>
Thanks!<br>
Sean.<br></blockquote></div><br>Sean, <br><br>It is completely dependent on the data sets that you use. I&#39;ve seen that error when it cannot find a good enough transformation. Take one of your data sets (call it A), perturb it slightly (call this one A&#39;), and run the example on A and A&#39;. If that doesn&#39;t work then please post your data sets so we can take a look. <br>
<br>As this points out, I think we should really develop a better ICP algorithm in VTK. There are several algorithms that use the covariance of the transformation parameters to tell you if the transformation has converged to a reasonable position, i.e. if it &quot;worked&quot;. They usually also use robust estimators (M-estimators) to determine the point pairing before the transformation is estimated. Does anyone already have a good ICP implementation that they could add to VTK?<br>
<br clear="all">Thanks,<br><br>David<br>