unreferenced vertex of point cloud
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.
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!
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\