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

Control parameters of the application #30

Open
Jean-Romain opened this issue Jan 10, 2025 · 4 comments
Open

Control parameters of the application #30

Jean-Romain opened this issue Jan 10, 2025 · 4 comments

Comments

@Jean-Romain
Copy link

Jean-Romain commented Jan 10, 2025

Hi, thank you for this awesome software.

As far as I can tell the software as no tunable parameter. According to your paper there are a few parameters especially I think that in my case the sensitivity of the single child simplification is too aggressive. Would you be able to show me where are the most important parameters in the source code so I can first recompile with different hard coded values and then maybe make a PR to add tunable parameters in the UI if you wish.

Thank you

@Jean-Romain Jean-Romain changed the title Control paameters of the application Control parameters of the application Jan 10, 2025
@LiangliangNan
Copy link
Member

I don't quite understand which parameters you're interested in.

The following two parameters can control the LOD of the generated branches:

@Jean-Romain
Copy link
Author

Jean-Romain commented Jan 13, 2025

Thank you for your reply.

I don't quite understand which parameters you're interested in.

All actually. I found two important parameters myself:

An hard coded 1.0 here that seems to controls the Douglas-Peucker sensitivity

if (distance >= 1.0 * r)

And an hard coded 0.019 here:

keep_main_skeleton(&MST_, 0.019);

I modified the software to be able to control these parameters both in GUI and console mode. You can see my modifications here: Jean-Romain@2c8650b

There are probably other interesting parameters that I did not find yet. As far as I can tell slice only control the amount of nodes in the final object but does not control the algorithm itself.

Are you interested in a PR ?

Capture d’écran du 2025-01-13 16-37-44

@LiangliangNan
Copy link
Member

Looks very nice! I will give it a try after some deadlines (end of Jan).

Some suggestions:
To not break the previous usage, those parameters should be made optional (with the default values).
Besides, the "usage" message in the main function should also include and explain these parameters.

@Jean-Romain
Copy link
Author

Jean-Romain commented Jan 20, 2025

The default parameters are your original parameters. The sliders are accompanied with a tooltip. However I'm not sure of the text I wrote. It is more a guess about the parameters. And I would like to provide access to more parameters if possible.

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

No branches or pull requests

2 participants