having difficulties around running M3C2 plugin via the command line interface. I am trying to run the following parameters (see attached) but functions as "false" are still being processed. Attempting to use M3C2 with;
- normals pre-calculated on Cloud#1 (no normals calculated)
- no subsampling
The issue is parameters that are selected as false are still being used. Normals are being calculated with a normal orientation, and it's still having a subsampling ratio applied. I can work around the subsampling ratio with a low number but I cannot resolve the incorrect normal orientations. All available normal orientations are incorrect and I use the sensor position usually to calculate this. When I use these parameters in the user interface it turns out as desired but not through the CLI. How do I resolve the normals orientation in the command line interface as my program requires doing it through this way?
Topic won't let me attached the parameters used so see below.
[General]
M3C2VER=1
NormalScale=0.3
ExportDensityAtProjScale=false
ExportStdDevInfo=false
MaxThreadCount=20
MinPoints4Stat=5
NormalMinScale=1
NormalMaxScale=1
NormalMode=1
NormalPreferedOri=4
NormalStep=1
NormalUseCorePoints=true
PM1Scale=1
PM2Scale=1
PositiveSearchOnly=false
ProjDestIndex=1
RegistrationError=0
RegistrationErrorEnabled=false
SearchDepth=1.2
SearchScale=0.3
SubsampleEnabled=false
SubsampleRadius=0.00001
UseMedian=false
UseMinPoints4Stat=true
UseOriginalCloud=false
UsePrecisionMaps=false
UseSinglePass4Depth=false
M3C2 via CLI
M3C2 via CLI
- Attachments
-
- 02.PNG (19.78 KiB) Viewed 14603 times
-
- 01.PNG (21.01 KiB) Viewed 14603 times
Re: M3C2 via CLI
I have done more investigation and feel it could be a problem with normals calculated in CloudCompare compared to those calculated using M3C2 plugin.
Originally I was trying;
C:\>"\Program Files\CloudCompare\CloudCompare" -O \Users\%username%\Documents\66\baseline_0_4455_EXT206_2017-07-02.ply -O \Users\%username%\Documents\66\registered_0_4455_EXT206_2020-07-14-08-22-50_Z.ply -M3C2 \Users\%username%\Documents\66\m3c2_params.txt
baseline file has normals pre-calculated using Normals/Compute - LS PLANE - radius 0.3 - MST, knn=6
run in CLI with parameters for Normals for UseCloud1 & subsampling = false but still did normals calculation and subsampling
error in CLI "Can't restore the previous normal computation method (cloud#1 or core points has no normals)"
Then I tried with baseline saved as CloudCompare bin
C:\>"\Program Files\CloudCompare\CloudCompare" -O \Users\%username%\Documents\66\baseline_0_4455_EXT206_2017-07-02.bin -O \Users\%username%\Documents\66\registered_0_4455_EXT206_2020-07-14-08-22-50_Z.ply -M3C2 \Users\%username%\Documents\66\m3c2_params.txt
run in CLI with parameters for Normals for UseCloud1 & subsampling = false but still did normals calculation and subsampling
same error in CLI "Can't restore the previous normal computation method (cloud#1 or core points has no normals)"
I then tried pre-calculating normals in CLI to use in M3C2 plugin
C:\>"\Program Files\CloudCompare\CloudCompare" -COMPUTE_NORMALS -O \Users\%username%\Documents\66\baseline_0_4455_EXT206_2017-07-02.ply -O \Users\%username%\Documents\66\registered_0_4455_EXT206_2020-07-14-08-22-50_Z.ply -M3C2 \Users\%username%\Documents\66\m3c2_params.txt
run in CLI with parameters for Normals for UseCloud1 & subsampling = false but still did normals calculation and subsampling
same error in CLI "Can't restore the previous normal computation method (cloud#1 or core points has no normals)"
The other method we tried was using sensor position for normals orientation. The confusion over was;
CloudCompare -O cloud1 -O cloud2 -O core_points -M3C2 parameters_file
when cloud1 is the core points and their is a trajectory file to use as sensor position. No combination of positions yielded the desired result with M3C2 distances.
Image attached shows error message in command line. Originally was trying this using v2.10.2 before updating to v2.11.3 and seeing no difference.
Originally I was trying;
C:\>"\Program Files\CloudCompare\CloudCompare" -O \Users\%username%\Documents\66\baseline_0_4455_EXT206_2017-07-02.ply -O \Users\%username%\Documents\66\registered_0_4455_EXT206_2020-07-14-08-22-50_Z.ply -M3C2 \Users\%username%\Documents\66\m3c2_params.txt
baseline file has normals pre-calculated using Normals/Compute - LS PLANE - radius 0.3 - MST, knn=6
run in CLI with parameters for Normals for UseCloud1 & subsampling = false but still did normals calculation and subsampling
error in CLI "Can't restore the previous normal computation method (cloud#1 or core points has no normals)"
Then I tried with baseline saved as CloudCompare bin
C:\>"\Program Files\CloudCompare\CloudCompare" -O \Users\%username%\Documents\66\baseline_0_4455_EXT206_2017-07-02.bin -O \Users\%username%\Documents\66\registered_0_4455_EXT206_2020-07-14-08-22-50_Z.ply -M3C2 \Users\%username%\Documents\66\m3c2_params.txt
run in CLI with parameters for Normals for UseCloud1 & subsampling = false but still did normals calculation and subsampling
same error in CLI "Can't restore the previous normal computation method (cloud#1 or core points has no normals)"
I then tried pre-calculating normals in CLI to use in M3C2 plugin
C:\>"\Program Files\CloudCompare\CloudCompare" -COMPUTE_NORMALS -O \Users\%username%\Documents\66\baseline_0_4455_EXT206_2017-07-02.ply -O \Users\%username%\Documents\66\registered_0_4455_EXT206_2020-07-14-08-22-50_Z.ply -M3C2 \Users\%username%\Documents\66\m3c2_params.txt
run in CLI with parameters for Normals for UseCloud1 & subsampling = false but still did normals calculation and subsampling
same error in CLI "Can't restore the previous normal computation method (cloud#1 or core points has no normals)"
The other method we tried was using sensor position for normals orientation. The confusion over was;
CloudCompare -O cloud1 -O cloud2 -O core_points -M3C2 parameters_file
when cloud1 is the core points and their is a trajectory file to use as sensor position. No combination of positions yielded the desired result with M3C2 distances.
Image attached shows error message in command line. Originally was trying this using v2.10.2 before updating to v2.11.3 and seeing no difference.
- Attachments
-
- 04.png (29.16 KiB) Viewed 14587 times