Feature Request
I'm filtering the pointclouds extracted from UniformTSDFVolume. Then I'd like to get a triangle mesh from the resulting filtered pointcloud. I think the triangle mesh from point cloud functionality is not available yet, but triangle mesh from TSDF is. So I thought I would create a new UniformTSDFVolume and integrate my filtered pointcloud into it, then extract the triangle mesh from the UniformTSDFVolume. However, at the moment UniformTSDFVolume can only integrate RGBD images not point clouds. I guess it wouldn't be too difficult to integrate a point cloud too? that would allow for point cloud preprocessing before integration.
I think there is a workaround: in the first pass, extract a point cloud and a triangle mesh from the same UniformTSDFVolume. Since both extraction uses the same algorithm under the hood, the extracted point cloud should be a superset (if not identical) of the triangle mesh's vertices. When you filter points from the point cloud, you filter them out in the triangle mesh's vertices too. Finally, use TriangleMesh.select_down_sample() to create the mesh.
Thanks. that seems to work. Although for some reason the mesh doesn't look as good a the point cloud. I guess that in my mind I would triangulate the point cloud to look as good a possible, whereas the algorithm just joins the nearest points to make a triangle.
It is just standard marching cubes. So the point clouds are not smoothed and it is common to notice some artifacts. I think you can do post processing to further polish the mesh.
I also would like to know if it is possible to integrate point clouds. I see that ScalableTSDFVolume's integrate method only takes in RGBD images as its argument. Is there a workaround to feed point clouds?
Not for now. It is on our roadmap.
Issue closed due to lack of activity. Feel free to open a new issue if you still consider this is a critical matter.
Most helpful comment
I also would like to know if it is possible to integrate point clouds. I see that
ScalableTSDFVolume'sintegratemethod only takes in RGBD images as its argument. Is there a workaround to feed point clouds?