Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ani37 opened this issue Aug 18, 2021 · 6 comments

Comments

@ani37
Copy link
Contributor

ani37 commented Aug 18, 2021

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:

  • Covariance Line Fitting
  • Least Square Surface Fitting
  • Ponca Primitive with Polyscope
  • Example application of Ponca libraries visualiser

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
Copy link

Hello,

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

Thanks!

@nmellado
Copy link
Contributor

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
Copy link

Stale issue message

@github-actions
Copy link

Stale issue message

@github-actions
Copy link

Stale issue message

@github-actions
Copy link

Stale issue message

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants