robust-laplacians-py icon indicating copy to clipboard operation
robust-laplacians-py copied to clipboard

unreferenced vertex of point cloud

Open feiran-l opened this issue 5 years ago • 2 comments

Hi, thank you for sharing the nice work!

I was trying to construct the laplacian from the point clouds. However, it some times raise RuntimeError that GC_SAFETY_ASSERT FAILURE from /tmp/pip-req-build-hgag1o29/deps/geometry-central/src/surface/surface_mesh.cpp:139 - unreferenced vertex 377. For some point clouds if I re-run the code it will then process smoothly, but for others it will always stuck at the error. Is there anything I can do the avoid this problem?

Here is a sample for test: ply.zip.

feiran-l avatar Aug 28 '20 02:08 feiran-l

Thanks for reaching out!

I think here you're running in to the issues mentioned in the "known limitations" in the README. This is totally just a software problem because I used simple libraries and data handling for this code release :) I'm going to try to release a v2 soon which addresses this, though it might be a few days.

One possible hacky immediate fix is to add a small random jitter to your points before computing the Laplacian; this should remove the degenerate cases which are breaking the 2D Delaunay implementation. But obviously that's not super satisfying. I'll comment when I've had a chance to write some more code!

nmwsharp avatar Sep 03 '20 13:09 nmwsharp

I'm seeing this issue in the MeshHeatMethodDistance function, heres a snippet from the stack trace:

self.bound_solver = pp3db.MeshHeatMethodDistance(V, F, t_coef, use_robust)\
RuntimeError: GC_SAFETY_ASSERT FAILURE from /tmp/pip-req-build-biwr300e/deps/geometry-central/src/surface/surface_mesh.cpp:139 - unreferenced vertex 21879\

brucedjones avatar Feb 01 '22 21:02 brucedjones