'open3d.open3d.geometry.PointCloud' object has no attribute 'remove_statistical_outlier'

from open3d import *
 ....
 ....
down_pcd = voxel_down_sample(target_pcd,voxel_size=0.1)
cl, ind =down_pcd.remove_statistical_outlier(nb_neighbors=20,std_ratio=2.0)
down_pcd=down_pcd.select_down_sample(ind) 
The result is shown as blow

AttributeError: ‘open3d.open3d.geometry.PointCloud’ object has no attribute ‘remove_statistical_outlier’

It was installed in the conda environment. Need I install open3d from source? If so, can it solve this problem?

1 Like

In the latest open3d (0.9.0), the APIs become object-oriented. The corresponding code should be

import open3d as o3d
...
down_pcd = pcd.voxel_downsample(0.1)
cl, ind = down_pcd.remove_statistical_outlier(20, 2.0)
down_pcd = down_pcd.select_down_sample(ind)