What is pyRANSAC-3D?
pyRANSAC-3D is an open source implementation of Random sample consensus (RANSAC) method. It fits primitive shapes such as planes, cuboids and cylinder in a point cloud to many aplications: 3D slam, 3D reconstruction, object tracking and many others.
Features:
Installation
Requirements: Numpy
Install with Pypi:
pip3 install pyransac3d
Take a look:
Example 1 - Planar RANSAC
import pyransac3d as pyrsc
points = load_points(.) # Load your point cloud as a numpy array (N, 3)
plane1 = pyrsc.Plane()
best_eq, best_inliers = plane1.fit(points, 0.01)
Results in the plane equation Ax+By+Cz+D:
[0.720, -0.253, 0.646, 1.100]
Example 2 - Spherical RANSAC
Loading a noisy sphere's point cloud with r = 5 centered in 0 we can use the following code:
import pyransac3d as pyrsc
points = load_points(.) # Load your point cloud as a numpy array (N, 3)
sph = pyrsc.Sphere()
center, radius, inliers = sph.fit(points, thresh=0.4)
Results:
center: [0.010462385575072288, -0.2855090643954039, 0.02867848979091283]
radius: 5.085218633039647
Documentation & other links
- The documentation is this แนage.
- Source code in the Github repository.
- Pypi pakage installer
- You can find the animations you see in the documentation on branch Animations. It needs Open3D library to run. The Animation branch is not regularly maintained, it only exists to create some cool visualizations ;D
License
Citation
Did this repository was useful for your work? =)
@software{Mariga_pyRANSAC-3D_2022,
author = {Mariga, Leonardo},
doi = {10.5281/zenodo.7212567},
month = {10},
title = {{pyRANSAC-3D}},
url = {https://github.com/leomariga/pyRANSAC-3D},
version = {v0.6.0},
year = {2022}
}
Contributing is awesome!
See CONTRIBUTING
Contact
Developed with
Mainteiner: Leonardo Mariga
Did you like it? Remember to click on