[vtkusers] Trouble modifying vtkIterativeClosestPointTransform

Laurent Paul l.paul at uclouvain.be
Tue Jul 19 11:26:49 EDT 2011


Hi David,

I had a look at the vtkIterativeClosestPointTransform source and yours.
Your approach is good if you consider that the source has more points 
than the target. In that case, you are right, you have to filter out 
points that will not find their corresponding point in the target.
It is not my case since my source Dataset is a subsample of my target. 
Thus each source point should lie on the target surface.

What I have just figured out is that Mean Distance is the difference 
between (Source at iteration n) and (source at n+1)... So the ICP stops 
not because distance between Source and target is small, but because 
movement is too small, so it considers ICP has reached its goal.

Ok, now I have understood that, I can work on improvements!
I'll think about that this evening in front of a glass of "apéro" as we 
say in french (aperitif ;-) )

Laurent.


Le 19/07/2011 15:49, David Doria a écrit :
> On Tue, Jul 19, 2011 at 9:40 AM, Laurent<l.paul at uclouvain.be>  wrote:
>> Hi David,
>>
>> Did yo find the clue to your problem?
>> I would like to improve that algo too because it doesn't behave as I
>> expected.
>> It produces bad results while its MeanDistance is very low....
>> I mean that visually, the result is bad, and I have checked using a
>> PointLocator that confirms the distance observed seen on screen.
>>
>> I get this bad result when I dramatically initialize the source far away
>> from the target. I have to check if there is no local minima in my shape, so
>> I perform 12 ICP's starting from different initializations.
>> If I try using a rotation of 120°, I get a bad result (Max distance from
>> PointLocator is 15 mm) while MeanDistance is les than 0.01mm RMS.
>> How is it possible?
>> And what is the capture radius, or in other words, what is the maximum range
>> for init rotation angle?
>>
>> Thanks for your help,
>> Laurent.
> Hi Laurent,
>
> I believe the attached files here have a working implementation of the
> "too far" threshold:
> http://vtk.org/Bug/view.php?id=8983
>
> it has been a long time since I looked at this, but I'm happy to give
> input if you revive it.
>
> David



More information about the vtkusers mailing list