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

cloudComPy render to file #49

Open
SowisLiuYiming opened this issue Jun 2, 2022 · 11 comments
Open

cloudComPy render to file #49

SowisLiuYiming opened this issue Jun 2, 2022 · 11 comments

Comments

@SowisLiuYiming
Copy link

Is there an interface to operate below in cloudCompy?

GUI Display -> render to file
image

@prascle
Copy link
Collaborator

prascle commented Jun 2, 2022

Hello,
As I understand it, you want to script snapshots of a 3D scene as you can with the CloudCompare GUI with the Render to file menu action, after selecting what to display, choosing a viewpoint, and, perhaps, all the display options the GUI offers.
In CloudComPy's design, the Python wrapper does not take into account the GUI layer, and CloudComPy does not care about a 3D view, a viewpoint, what is displayed... No GUI Display menu actions are available in CloudComPy.
Taking into account in CloudComPy all the possibilities offered by the Display menu of the CloudCompare graphical interface implies a big redesign work, with many modifications in the CloudCompare sources. This is something I had imagined to do, but not in the near future. Nevertheless, I can check if it is possible to wrap a simple snapshot function with a virtual 3D view, without writing too much C++.
If you want to specify your use case, I can check, but no guarantees!
Regards,
Paul

@SowisLiuYiming
Copy link
Author

Hello,
Thank you for your reply.
My requirement is to snapshot a bin file.The output format is unlimited.
if you can check if it is possible to wrap a simple snapshot function with a virtual 3D view.I would appreciate it very much.
Regards,
Leo
image

@jarosobu
Copy link

Hello,

I have series of point clouds (several hundred), generated from several time-lapse cameras. I would like to make a time-lapse video from particular view point. In this case Render to File in CloudComPy would be very useful. So any update on this issue would be very appreciated from my side.
Regards

@prascle
Copy link
Collaborator

prascle commented Apr 24, 2023

Hello,
I have a quick and dirty development on a branch on this problem, able to do the job, when it doesn't freeze the system completely!
I need to find a clean way to do it, hoping not to rewrite too much code...
Paul

@kxd195
Copy link

kxd195 commented May 8, 2023

Any update/progress on this "render to file" feature? One of the features I was hoping to do with CloudComPy was to trigger generation of 3D renderings to BMP/JPG when new xyz files are detected from data filesource.

prascle added a commit to prascle/CloudComPy that referenced this issue May 21, 2023
@prascle
Copy link
Collaborator

prascle commented Jun 5, 2023

Hello, for your information, the render to file feature has been added in the May 24, 2023 version. Please don't hesitate to ask for more information or improvements.
Regards,
Paul

@kxd195
Copy link

kxd195 commented Jun 5, 2023

@prascle Thanks for that upgraded version! I've tested it out and it works well.

@kxd195
Copy link

kxd195 commented Jun 12, 2023

@prascle a "nice to have" would be the ability to paint/highlight a difference area between two point clouds in different colours. We currently use CloudCompare to manually generate the render for two point clouds where a section of the cloud has changed in volume. Because there's no function to do so, someone will manually load the render in Photoshop and highlight/paint the area that has changed. This would be a nice option for the render to file feature.

@lmweidner
Copy link

@prascle a "nice to have" would be the ability to paint/highlight a difference area between two point clouds in different colours. We currently use CloudCompare to manually generate the render for two point clouds where a section of the cloud has changed in volume. Because there's no function to do so, someone will manually load the render in Photoshop and highlight/paint the area that has changed. This would be a nice option for the render to file feature.

Hi, we work on similar highlighting of volume changes (end up using powerpoint as a final product so it's fine anyways).

I just wanted to point out that I recently discovered PyVista has some very very nice visualization tools for point clouds that I find very easy to adjust and manipulate. It even has EDL shading like CloudCompare. It has been able to satisfy our needs for generating automatic images of point clouds that look similar to CloudCompare. PyVista also seems to be working fine in the CloudComPy environment, so I can use both in the same scripts.

Best,
Luke

@prascle
Copy link
Collaborator

prascle commented Jul 2, 2023

Hi @kxd195, I am sorry, i did not answer to your post.
I am not sure I understand your problem correctly, but, if you are able to compute a scalar field representing what has changed, it is possible to render this scalar field in the render function. In my example test051py I use cloud methods such as setCurrentDisplayedScalarField or showNormals to build the image.
If you think something is missing, let me know: if you are able to render manually with the CloudCompare GUI, tell me what you are doing, I will try to add what is missing.

Best,
Paul

@kxd195
Copy link

kxd195 commented Jul 5, 2023

@prascle @lmweidner what we do is we have backhoes that excavate/dig the ground. Every 6 hours, we take a mapping of the work area and it generates the point cloud for us. Manually using CloudCompare, we can see the volume difference between the current point cloud vs the one 6 hours ago, which gives us the amount of area/volume that has been excavated.

Now we're trying to automate this process using CloudComPy, so that we can generate not just the 3D render, but we'd like to "paint" each 6hr excavated area a different colour. We understand that we'd most likely generate a 3D render of two point clouds at a time, and then merge these renders together (each render with a different colour), so that for example, we can see over a 24hr period, you can see which areas has been excavated and based on colour, see which area was done for each 6hr period.

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

5 participants