poncateam / ponca

Ponca (fomerly known as Patate) is a header only C++/CUDA library for point cloud analysis
https://poncateam.github.io/ponca/
Other
30 stars 20 forks source link

Moving Least Squares for point set smoothing and differential properties estimation #50

Open ani37 opened 3 years ago

ani37 commented 3 years ago

Aniket Agarwalla's GSoC 2021 Submission

Project Summary

The roadmap is to add new primitives and fitting procedures to the Ponca library. The earlier version supports fitting methods for Plane and Sphere. In the newer version Line fitting has been added and 2nd order Quadratic surface is in review. The other task is to create a visualiser for each fitting methods (Line, sphere, Plane and Surface) showing the properties of Ponca library like projections using Polyscope library.

What was done?

The design, the implementation, and the documentation of the followings items were done:

The above mentioned changes were tested using appropriate test mechanisms in conformity with the library specific conventions.

What is left to be done?

Pull requests are open on Surface fitting and Poncascope repositories to merge the remaining work. The reviewing process may result in feedback that requires changes. Therefore, the remaining work is to rectify the code to meet the possible requests from the review process. I will also hold this work voluntarily after the GSoC program ends and also to solve the various issues.

Commit Log

The commits section shows the list of commits done for achieving the above work. On top of those commits, detailed investigations of libraries, design patterns, programming language constructs, and detailed discussions on the design of the above mentioned changes with mentors were done. Note : Many small commits are ignored and some large commits are repeated to show work done.

Commits to Line Fitting: Adding line fitting, documentation and tests. Features in fitting are Projection, Potential, Direction and Distance. 57dc39a Adding Primitive for Line fitting 57dc39a Adding documentation of Line fitting 57dc39a Adding tests of Line fitting

Commits to Surface Fitting: Adding surface fitting, documentation and tests. Features in fitting are Projection, Primitive Gradient and Parameters of the fitting equation. dada60c Adding Primitive of Surface fitting dada60c Adding primitive Gradient and Project descent of Surface fitting 5bb2b4f Adding documentation of Surface fitting c6d5fec Adding example of Surface fitting d582f72 Adding tests of Surface fitting

Commits to Visualiser: Adding Plane, surface, Line and Sphere fitting. Features in visualiser are Points and its Projection. 2d9563f Adding visualiser for Line fitting 2d9563f Adding visualiser of Plane fitting 2d9563f Adding visualiser of Sphere fitting c082724 Adding visualiser of Surface fitting

Commits to Example Project: Helps to show optimise usage and visualise the various features of Ponca library 7c0f4d6 Example fitting using KdTree 6f5f6ba Example adding small changes 056f61f Example updating main.cpp db8e9da Example adding UI elements e010914 Example adding template as suggested

Commits to Experiment with Poncascope: Helps to visualise and do experiments with different quadrics for different fitting methods of Ponca library 9b97ff3e Adding quadric equation experiment for Line fitting 9b97ff3e Adding quadric equation experiment for Plane fitting 9b97ff3e Adding quadric equation experiment for Sphere fitting 9b97ff3e Adding quadric equation experiment for Surface fitting

Minor commit in Ponca documentation 7d1f783 Updating Ponca documentation

1939938853 commented 3 years ago

Hello,

It is now possible to use PONCA for point set smoothing? How?

Thanks!

nmellado commented 3 years ago

Hi @1939938853 , Ponca provides projection operators, that can move each 3d point onto the smoothed MLS surface. You have an example in poncascope: https://github.com/poncateam/poncascope/blob/4c121c4c5bddfbb28b65005e97a72998ab71fd70/src/main.cpp#L99

Tell me if it is not clear enough, I can try to write a more simple example if needed.

github-actions[bot] commented 1 year ago

Stale issue message

github-actions[bot] commented 1 year ago

Stale issue message

github-actions[bot] commented 1 year ago

Stale issue message

github-actions[bot] commented 1 year ago

Stale issue message