ICP is not working for specific data

Hi all,
I an using ICP (Iterative Closest Point algorithm - vtkIterativeClosestPointTransform) and so far works great for stl data that I have.
But I just received some new stl files and it doesn’t give correct results, even the surface looks very good.

Do you think that bad triangulation would cause these wrong results? I tried to re-generate my stl with better triangulation, but still, ICP is not working as expected.

Do you have any idea that can help me investigate further?

Hi @siaeleni - probably it also depends a lot on initialization - are the new datasets close before you run the ICP? Maybe you can share examples of data that do and don’t register well?

I haven’t used ICP a lot myself, but I plan to soon so I’d also be interested in hearing any advice about what works well.

Hi @pieper,
Exactly, you are right. My data are generated from different people with different software,
thus these after the initial guess (after the translation) are not very close.

Probably a pre-process step is needed here.