Type error using TriangleMesh

I am trying to use open3d to create an “alphahull” around a set of 3d points using TriangleMesh. However I get a TypeError.

import open3d as o3d
import numpy as np 

xx =np.asarray([[10,21,18], [31,20,25], [36,20,24], [33,19,24], [22,25,13], [25,19,24], [22,26,10],[29,19,24]])

cloud = o3d.geometry.PointCloud()
cloud.points = o3d.utility.Vector3dVector(xx)
mesh = o3d.geometry.TriangleMesh.create_from_point_cloud_alpha_shape(pcd=cloud, alpha=10.0)

output:

    Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: create_from_point_cloud_alpha_shape(): incompatible function arguments. The following argument types are supported:
1. (pcd: open3d.open3d.geometry.PointCloud, alpha: float, tetra_mesh: open3d::geometry::TetraMesh, pt_map: List[int]) -> open3d.open3d.geometry.TriangleMesh

The error says the object I am passing the function is the wrong type. But when I check the type I get this:

>>print(type(cloud))
<class 'open3d.open3d.geometry.PointCloud'>

Please can someone help me with this error?

Note: A comment on this post https://stackoverflow.com/questions/58174767/python-open3d-no-attribute-create-coordinate-frame suggested it might be a problem with the installation and that a solution was to compile the library from source. So I compiled the library from source. After this ran
make install-pip-package. Though I am not sure it completed correctly because I couldn’t import open3d in python yet; see output of installation: https://pastebin.com/sS2TZfTL
(I wasn’t sure if that command was supposed to complete the installation, or if you were still required to run pip? After I ran python3 -m pip install Open3d I could import the library in python.)

Hi,

there seems to be a problem with the default arguments in the python binding (for some platforms?).
If you explicitly pass all arguments it should work, e.g.

import open3d as o3d import numpy as np xx =np.asarray([[10,21,18], [31,20,25], [36,20,24], [33,19,24], [22,25,13], [25,19,24], [22,26,10],[29,19,24]]) 

cloud = o3d.geometry.PointCloud() 
cloud.points = o3d.utility.Vector3dVector(xx) 
tetra_mesh, pt_map = o3d.geometry.TetraMesh.create_from_point_cloud(cloud)
mesh = o3d.geometry.TriangleMesh.create_from_point_cloud_alpha_shape(pcd=cloud, alpha=10.0, tetra_mesh=tetra_mesh, pt_map=pt_map)

On macos I was able to build o3d and run your example without the extra arguments, so maybe it is a pybind+gcc problem.

Did you open an issue for this on Github?