pyransac3d

A python tool for fitting primitives 3D shapes in point clouds using RANSAC algorithm

https://github.com/leomariga/pyransac-3d

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.9%) to scientific vocabulary

Keywords

3d-reconstruction cuboid cylinder open3d plane-detection planes point-cloud ransac ransac-algorithm segmentation
Last synced: 6 months ago · JSON representation ·

Repository

A python tool for fitting primitives 3D shapes in point clouds using RANSAC algorithm

Basic Info
Statistics
  • Stars: 625
  • Watchers: 7
  • Forks: 73
  • Open Issues: 21
  • Releases: 1
Topics
3d-reconstruction cuboid cylinder open3d plane-detection planes point-cloud ransac ransac-algorithm segmentation
Created over 5 years ago · Last pushed over 2 years ago
Metadata Files
Readme Contributing License Citation

README.md



DOI PyPI Latest Release License

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:

sh pip3 install pyransac3d

Take a look:

Example 1 - Planar RANSAC

``` python import pyransac3d as pyrsc

points = load_points(.) # Load your point cloud as a numpy array (N, 3)

plane1 = pyrsc.Plane() besteq, bestinliers = 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:

``` python 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: python center: [0.010462385575072288, -0.2855090643954039, 0.02867848979091283] radius: 5.085218633039647

3D Sphere

Documentation & other links

License

Apache 2.0

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 :heart: by the internet

Mainteiner: Leonardo Mariga

Did you like it? Remember to click on :star2: button.

Owner

  • Name: Leonardo Mariga
  • Login: leomariga
  • Kind: user
  • Location: São José dos Campos - SP - Brazil
  • Company: Embraer SA

MSc. in Computation and Electronics at ITA - Electrical Engineer at UFSC - works with Safety-Critical Software for aircrafts. Likes 3D reconstruction and SLAM.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Mariga"
  given-names: "Leonardo"
title: "pyRANSAC-3D"
version: v0.6.0
doi: 10.5281/zenodo.7212567
date-released: 2022-10-16
url: "https://github.com/leomariga/pyRANSAC-3D"

GitHub Events

Total
  • Watch event: 60
  • Fork event: 3
Last Year
  • Watch event: 60
  • Fork event: 3

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 40
  • Total Committers: 4
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.075
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Leonardo Mariga l****a@g****m 37
Sacha Jungerman j****2@i****u 1
Tomas Karella t****a@g****m 1
Ludvig Eriksson l****n@v****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 28
  • Total pull requests: 12
  • Average time to close issues: 28 days
  • Average time to close pull requests: 2 days
  • Total issue authors: 19
  • Total pull request authors: 9
  • Average comments per issue: 1.61
  • Average comments per pull request: 1.08
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • leomariga (9)
  • LexQzim (2)
  • mrpositron (1)
  • aswathyr001 (1)
  • zhxd050946 (1)
  • arielc-brillianetor (1)
  • poopipe (1)
  • opalai (1)
  • jma100 (1)
  • yeahatnet (1)
  • Tong-ZHAO (1)
  • ardiya (1)
  • apockill (1)
  • mitch-galea (1)
  • ascnackndanc (1)
Pull Request Authors
  • leomariga (3)
  • wct432 (2)
  • karellat (1)
  • jungerm2 (1)
  • Staubsaugerbeutel (1)
  • bongatron (1)
  • amaarquadri (1)
  • dongdong2023 (1)
  • GuiiFerrari (1)
Top Labels
Issue Labels
enhancement (8) good first issue (6) bug (2) question (1) help wanted (1)
Pull Request Labels
enhancement (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 17,020 last-month
  • Total docker downloads: 71
  • Total dependent packages: 0
  • Total dependent repositories: 11
  • Total versions: 8
  • Total maintainers: 1
pypi.org: pyransac3d

A python tool for fitting primitives 3D shapes in point clouds using RANSAC algorithm

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 11
  • Downloads: 17,020 Last month
  • Docker Downloads: 71
Rankings
Stargazers count: 2.9%
Downloads: 3.4%
Docker downloads count: 3.5%
Dependent repos count: 4.4%
Average: 5.0%
Forks count: 5.4%
Dependent packages count: 10.1%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements-dev.txt pypi
  • black * development
  • flake8 * development
  • invoke * development
  • isort * development
  • open3d * development
  • pylint * development
requirements.txt pypi
  • numpy *
setup.py pypi