pyt-team / challenge-icml-2024

Official repository for the Topological Deep Learning Challenge 2024, organized by TAG-DS & PyT-Team and hosted by GRaM Workshop @ ICML 2024.
https://pyt-team.github.io/packs/challenge.html
MIT License
38 stars 49 forks source link

Ball-Pivoting Lifting (Point Cloud to Simplicial Complex) #55

Open nemo1120 opened 3 months ago

nemo1120 commented 3 months ago

The ball pivoting algorithm reconstructs surfaces from oriented point cloud data sets. The algorithm works by, at initialization, selecting three points at random to form a triangle (note, all three points must fall within a ball of radius r (specified by the user), while no other points fall within the same ball). Once this triangle has been formed, a ball of radius r is rolled along the edges of the triangle. If a point falls within the this ball during its rolling (and when no other points are within the ball), a new triangle is added where the new point is a vertex in the triangle. This process is continued until all reachable edges have been tried. A new seed triangle is picked and the process is restarted until all points in the point cloud have been reached. For a more in-depth look at the algorithm, see the following reference. The images below demonstrate an example lifting on a spherical point cloud (note, this reconstruction is walked through in the tutorial ball_pivoting jupyter notebook).

image

image


[1] F. Bernardini, J. Mittleman, H. Rushmeier, C. Silva and G. Taubin, "The ball-pivoting algorithm for surface reconstruction," in IEEE Transactions on Visualization and Computer Graphics, vol. 5, no. 4, pp. 349-359, Oct.-Dec. 1999, doi: 10.1109/2945.817351.


This pull request adds the Ball-Pivoting algorithm for point cloud to simplicial complex lifting.

review-notebook-app[bot] commented 3 months ago

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

gbg141 commented 3 months ago

Hello @nemo1120! Thank you for your submission. As we near the end of the challenge, I am collecting participant info for the purpose of selecting and announcing winners. Please email me (or have one member of your team email me) at guillermo_bernardez@ucsb.edu so I can share access to the voting form. In your email, please include:

Before July 12, make sure that your submission respects all Submission Requirements laid out on the challenge page. Any submission that fails to meet this criteria will be automatically disqualified.

codecov-commenter commented 3 months ago

Codecov Report

Attention: Patch coverage is 84.21053% with 9 lines in your changes missing coverage. Please review.

Please upload report for BASE (main@497947b). Learn more about missing BASE report.

Files Patch % Lines
...ngs/pointcloud2simplicial/ball_pivoting_lifting.py 72.72% 9 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #55 +/- ## ======================================= Coverage ? 66.66% ======================================= Files ? 18 Lines ? 537 Branches ? 0 ======================================= Hits ? 358 Misses ? 179 Partials ? 0 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.