Numpy array to surface reconstruction

Hello.
I have a point cloud from a numpy array and I’m trying to get the surface but all methods give me errors.
Here’s a look at the point cloud:


Alpha Shapes:

RuntimeError: [Open3D ERROR] [CreateFromPointCloudAlphaShape] invalid tetra in TetraMesh

BPA:

[Open3D WARNING] [SimpleShaderForTriangleMesh] Binding failed with empty triangle mesh.
[Open3D WARNING] [SimpleShaderForTriangleMesh] Binding failed when preparing data.
[Open3D WARNING] [SimpleShaderForTriangleMesh] Something is wrong in compiling or binding.

Poisson Surface Reconstruction gives me:


Is there something I’m missing beyond assigning the points and computing normals?

Is the Poisson surface OK? If it is, then obviously something is wrong with the parameters you are using in Alpha blend. The example in documentation is quite good. Have you tried varying the parameters in line with it?

1 Like

Thanks for the reply :slight_smile:

Alpha Shapes:
I’m not so sure the problem is simply parameters. There are several github issues about the same alpha shapes error namely:


A proposed workaround lets me see the point cloud plus the mesh but not invoke alpha shapes:

BPA:
It does indeed seem to be parameters. The warnings end above a certain threshold though I’ve been unable to find appropriate radii but that’s beyond the scope of this issue.

PSR:
Yes it is correct.

Turns out the tutorial parameters are too small for this case and the increments themselves were too.
Thanks again for the quick reply.