davidcaron / pclpy

Python bindings for the Point Cloud Library (PCL)
MIT License
427 stars 59 forks source link

PCL tests failed after build from source using conda python 3.7 on Ubuntu 18.04 #63

Closed szx0112 closed 4 years ago

szx0112 commented 4 years ago

I build and install pclpy as in docs. I tried to make it works with python 3.7 in conda env. After the installation, the auto- test showed many failures.

=========================== short test summary info ============================
FAILED test_features.py::test_compute_normals_simple - OSError: No such file ...
FAILED test_features.py::test_compute_normals_simple_given_output - OSError: ...
FAILED test_features.py::test_difference_of_normals_estimation_simple - OSErr...
FAILED test_features.py::test_fpfh_simple - OSError: No such file or director...
FAILED test_filters.py::test_extract_indices_simple - OSError: No such file o...
FAILED test_filters.py::test_radius_outlier_removal_simple - OSError: No such...
FAILED test_filters.py::test_radius_outlier_removal_alias - OSError: No such ...
FAILED test_filters.py::test_radius_outlier_removal_indices - OSError: No suc...
FAILED test_filters.py::test_radius_outlier_removal_negative - OSError: No su...
FAILED test_io.py::test_simple_io_pcd - assert 0 == 397
FAILED test_io.py::test_las_xyz - OSError: No such file or directory: '/home/...
FAILED test_io.py::test_las_rgb - OSError: No such file or directory: '/home/...
FAILED test_io.py::test_las_intensity - OSError: No such file or directory: '...
FAILED test_io.py::test_las_save_extra_dims - FileNotFoundError: [Errno 2] No...
FAILED test_io.py::test_las_read_normals - OSError: No such file or directory...
FAILED test_io.py::test_las_write_with_offset - FileNotFoundError: [Errno 2] ...
FAILED test_io.py::test_las_read_with_offset - FileNotFoundError: [Errno 2] N...
FAILED test_io.py::test_las_to_pcd - OSError: No such file or directory: '/ho...
FAILED test_octree.py::test_voxel_centroid_simple - OSError: No such file or ...
FAILED test_octree.py::test_voxel_centroid_api - OSError: No such file or dir...
FAILED test_octree.py::test_voxel_centroid_api_rgba - OSError: No such file o...
FAILED test_segmentation.py::test_supervoxel_clustering - OSError: No such fi...
FAILED test_segmentation.py::test_region_growing - OSError: No such file or d...
FAILED test_segmentation.py::test_region_growing_simple - OSError: No such fi...
FAILED test_segmentation.py::test_euclidean_cluster - OSError: No such file o...
FAILED test_surface.py::test_moving_least_squares_normals - OSError: No such ...
FAILED test_surface.py::test_moving_least_squares_alias - OSError: No such fi...
FAILED test_surface.py::test_moving_least_squares_no_normals - OSError: No su...
FAILED test_surface.py::test_moving_least_squares_no_normals_omp - OSError: N...
FAILED test_surface.py::test_moving_least_squares_with_output - OSError: No s...
FAILED test_surface.py::test_greedy_projection_triangulation_simple - OSError...
ERROR test_io.py::test_las_save_extra_dims - NameError: name 'WindowsError' i...
ERROR test_io.py::test_las_write_with_offset - NameError: name 'WindowsError'...
ERROR test_io.py::test_las_read_with_offset - NameError: name 'WindowsError' ...
=================== 31 failed, 58 passed, 3 errors in 1.70s ====================

After installation, I can import pclpy without error. However, I find I am not able to proceed some test cases. For example, the high-level code output1 = pclpy.moving_least_squares(pc, search_radius=0.5, compute_normals=False)

runs smoothly without error.

However, when I run it through PCL wrapper.

mls = pcl.surface.MovingLeastSquaresOMP.PointXYZRGBA_PointNormal()

It shows pcl has no attribute MovingLeastSquaresOMP.

Any comment is appreciated

szx0112 commented 4 years ago

Switched to python-pcl due to lack of documentations.

VisionaryMind commented 3 years ago

Switched to python-pcl due to lack of documentations.

Python-pcl does not implement OpenMP, which is one of the reasons this library is unique. Were you eventually able to get OMP working with pclpy? Python-pcl is no longer maintained and, for all intents and purposes, obsolete. I do not see any recent activity on this repository, so it's possible pclpy is also soon to be obsolete.

This brings up the question --- what do we do if we need to implement multi-processing in python-based pipelines? It looks to me that in the absence of a functional wrapper, we will have to resort to developing our own modules.