Hi there,
I'm comparing two different point clouds via Cloud-to-Cloud comparison.
My two input clouds are LAS files. I want to store the comparison as a scalar field and export for use in another program. To do this, I clear all the scalar fields in the LAS, run Cloud-To-Cloud, and then export the result as an e57. Exporting an e57 in this manner saves the cloud-to-cloud distance (scalar field) in the intensity field. This workaround may be part of my error, but I digress.
This process works fine when I use the GUI. However, when I replicate this in my command line, I get wildly different (and incorrect) results.
GUI (correct): https://www.dropbox.com/s/v4v53v1k4znn426/GUI.png?dl=0
Command Line (incorrect): https://www.dropbox.com/s/5ggvv4qre8azc ... e.png?dl=0
Perhaps somebody can shed some light on this. Thanks in advance,
Adam
Cloud-To-Cloud Issue
Cloud-To-Cloud Issue
- Attachments
-
- CommandLine.png (191.55 KiB) Viewed 6623 times
Re: Cloud-To-Cloud Issue
Hi Daniel,
Completely forgot to do that! here it is:
C:\Program Files\CloudCompare\CloudCompare.exe -silent -auto_save off -O C:\...Cloud1.las -O C:\...Cloud2.las -remove_all_sfs -c2c_dist -max_dist 0.5 -C_EXPORT_FMT E57 -no_timestamp -save_clouds
My goal was to replicate the manual workflow, which has been successful
1. Import two LAS files
2. Remove scalar fields
3. Cloud-to-cloud distance with max distance at 0.5
4. Export cloud as e57 (and thereby save new scalar field)
5. Continue work with e57 in other software
Completely forgot to do that! here it is:
C:\Program Files\CloudCompare\CloudCompare.exe -silent -auto_save off -O C:\...Cloud1.las -O C:\...Cloud2.las -remove_all_sfs -c2c_dist -max_dist 0.5 -C_EXPORT_FMT E57 -no_timestamp -save_clouds
My goal was to replicate the manual workflow, which has been successful
1. Import two LAS files
2. Remove scalar fields
3. Cloud-to-cloud distance with max distance at 0.5
4. Export cloud as e57 (and thereby save new scalar field)
5. Continue work with e57 in other software
Re: Cloud-To-Cloud Issue
Oh I know, it's due to the 'Global shift' that is applied by the GUI version but not by the command line version.
It's kind specific to LAS files, because there are too much options (no global shift / use the internal LAS shift / use the CloudCompare Global Shift). To get the same behavior as with the GUI application, it should be sufficient to use '-GLOBAL_SHIFT AUTO' after the '-O' options (and before the filename).
It's kind specific to LAS files, because there are too much options (no global shift / use the internal LAS shift / use the CloudCompare Global Shift). To get the same behavior as with the GUI application, it should be sufficient to use '-GLOBAL_SHIFT AUTO' after the '-O' options (and before the filename).
Daniel, CloudCompare admin
Re: Cloud-To-Cloud Issue
Hi Daniel,
So, I did some more testing with the command line. I ran the same command line, but with "global_shift auto" after the open command. Both of these attempts produced the same results:
Two uses of global_shift auto: C:\Program Files\CloudCompare\CloudCompare.exe -silent -auto_save off -O -global_shift auto C:\...Cloud1.las -O -global_shift auto C:\...Cloud2.las -remove_all_sfs -c2c_dist -max_dist 0.5 -C_EXPORT_FMT E57 -no_timestamp -save_clouds
One use of global_shift auto: C:\Program Files\CloudCompare\CloudCompare.exe -silent -auto_save off -O -global_shift auto C:\...Cloud1.las -O C:\...Cloud2.las -remove_all_sfs -c2c_dist -max_dist 0.5 -C_EXPORT_FMT E57 -no_timestamp -save_clouds
Output: https://www.dropbox.com/s/ncb2c4trm5w3i ... c.png?dl=0
This is the output using the GUI, for reference: https://www.dropbox.com/s/k5w5ecm22f16l ... c.png?dl=0
I think I'm missing something, are you able to point it out?
So, I did some more testing with the command line. I ran the same command line, but with "global_shift auto" after the open command. Both of these attempts produced the same results:
Two uses of global_shift auto: C:\Program Files\CloudCompare\CloudCompare.exe -silent -auto_save off -O -global_shift auto C:\...Cloud1.las -O -global_shift auto C:\...Cloud2.las -remove_all_sfs -c2c_dist -max_dist 0.5 -C_EXPORT_FMT E57 -no_timestamp -save_clouds
One use of global_shift auto: C:\Program Files\CloudCompare\CloudCompare.exe -silent -auto_save off -O -global_shift auto C:\...Cloud1.las -O C:\...Cloud2.las -remove_all_sfs -c2c_dist -max_dist 0.5 -C_EXPORT_FMT E57 -no_timestamp -save_clouds
Output: https://www.dropbox.com/s/ncb2c4trm5w3i ... c.png?dl=0
This is the output using the GUI, for reference: https://www.dropbox.com/s/k5w5ecm22f16l ... c.png?dl=0
I think I'm missing something, are you able to point it out?
Re: Cloud-To-Cloud Issue
Hard to tell like this... Could you maybe send me the files? (cloudcompare [at] danielgm.net)
Daniel, CloudCompare admin
Re: Cloud-To-Cloud Issue
Hi Daniel,
Here's a Dropbox link to the data.
I've included the following e57 files:
In the command line output, the cloud-to-cloud distance has been computed improperly. The global_shift command fixed my original error, but introduced a new one. When the Color Scale is changed to Blue>Green>Yellow>Red, the ground in the scan and other surfaces that did not move show Green == ~0.5, i.e. there is a 50cm difference between Reference and Compared. I cannot replicate this output in the GUI.
Thank you for your assistance,
Adam
Here's a Dropbox link to the data.
I've included the following e57 files:
- Epoch 0: Referenced_201701027_Outside.e57
- Epoch 1: Compared_201701031_Outside.e57
- GUI cloud-to-cloud output: C2C_GUI_201701031_Outside.e57
- Command line cloud-to-cloud output: C2C_CommandLine_201701031_Outside_C2C_DIST_MAX_DIST_1.e57
In the command line output, the cloud-to-cloud distance has been computed improperly. The global_shift command fixed my original error, but introduced a new one. When the Color Scale is changed to Blue>Green>Yellow>Red, the ground in the scan and other surfaces that did not move show Green == ~0.5, i.e. there is a 50cm difference between Reference and Compared. I cannot replicate this output in the GUI.
Thank you for your assistance,
Adam
Re: Cloud-To-Cloud Issue
Hum, with the E57 files, I can't reproduce the issue. I get the same result in the GUI and the command line mode.
I guess the issue do come from the LAS files. Can you send them to me?
Note: regarding your command line, it would be more efficient to use the '-C_EXPORT_FMT E57 -no_timestamp' options before the -C2C_DIST option, and remove the '-auto_save off' and '-save_clouds' options. This way you'll get only one file (the compared cloud). Apart if you want both files as E57 files of course ;)
Code: Select all
CloudCompare.exe -silent -auto_save off -O Compared_201701031_Outside.e57 -O Reference_201701027_Outside.e57 -C2C_DIST -max_dist 0.5 -C_EXPORT_FMT E57 -no_timestamp -save_clouds
Note: regarding your command line, it would be more efficient to use the '-C_EXPORT_FMT E57 -no_timestamp' options before the -C2C_DIST option, and remove the '-auto_save off' and '-save_clouds' options. This way you'll get only one file (the compared cloud). Apart if you want both files as E57 files of course ;)
Daniel, CloudCompare admin
Re: Cloud-To-Cloud Issue
By the way, could you test this with the official 2.9 version? (and not the beta)
Daniel, CloudCompare admin
Re: Cloud-To-Cloud Issue
Hi Daniel,
Thanks for the command line pointers! I'll have to learn more about how clouds work in the memory.
And thank you for suggesting 2.9.1. I can no longer replicate the issue. Must have been a strange bug with 2.9.beta.
Cheers and thank you very much for your help!
Thanks for the command line pointers! I'll have to learn more about how clouds work in the memory.
And thank you for suggesting 2.9.1. I can no longer replicate the issue. Must have been a strange bug with 2.9.beta.
Cheers and thank you very much for your help!