isl-org / isl-org/Open3D

add RemoveDuplicatedPoints method to Pointcloud

Open
#4,477 2 comments 0 reactions 0 assignees View on GitHub
feature request geometry
Dominant language
C++
Stars
14k
Forks
2.6k
Avg merge
5d 18h
Merged PRs (30d)
6

Description

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

At the end of registering mutliple point clouds using IPC registration eg point to plane typically a single point cloud is formed. In some cases downsampling to a coarser grid is not an option or one wants to keep the raw set of points which likely contains serveral points which are to be considered duplicated. Removeing them before storing or further processing would simplifies further processing a lot and reduces the size required on disk. for example for a surface consisting of 12 3D camera scans this can be about a factor of 5 to 6

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

A dedicated RemoveDuplicatedPoints method equal to the RemoveDuplicatedVertices Method for TriangleMesh and TetraMesh would simplify the game.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

Currently I do abuse TriangleMesh.remove_duplicated_vertices:

```
point_cloud = o3d.io.read_point_cloud(filename)
clear_points = o3d.geometry.TriangleMesh()
clear_points.vertices = o3d.uitility.Vector3dVector(point_cloud.points)
clear_points.vertex_normals = o3d.uitility.Vector3dVector(point_cloud.normals)
clear_points.vertex_colors = o3d.uitility.Vector3dVector(point_cloud.colors)
clear_points.remove_duplicated_vertices()
point_cloud.points = o3d.utility.Vector3dVector(clear_points.vertices)
point_cloud.normals = o3d.utility.Vector3dVector(clear_points.vertex_normals)
point_cloud.colors= o3d.utility.Vector3dVector(clear_points.vertex_colors)
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.