In my recent experience, setting this: pc-skip-geometric: true is necessary for tasks using photos taken with phones and DSLRs that are not georeferenced, such as 3D models of small objects. If pc_geometric isn’t skipped then I’m seeing PoissonRecon failures for this type of task:
[INFO] Running odm_meshing stage
[INFO] Writing ODM Mesh file in: D:\WebODM\resources\app\apps\NodeODM\data\99fd1cd6-0d8d-428b-842f-5c664ce9e5be\odm_meshing\odm_mesh.ply
[INFO] running “D:\WebODM\resources\app\apps\ODM\SuperBuild\install\bin\PoissonRecon” --in “D:\WebODM\resources\app\apps\NodeODM\data\99fd1cd6-0d8d-428b-842f-5c664ce9e5be\odm_filterpoints\point_cloud.ply” --out “D:\WebODM\resources\app\apps\NodeODM\data\99fd1cd6-0d8d-428b-842f-5c664ce9e5be\odm_meshing\odm_mesh.dirty.ply” --depth 13 --pointWeight 4.0 --samplesPerNode 1.0 --threads 15 --bType 2 --linearFit
[WARNING] Child returned 3221225477
[WARNING] PoissonRecon failed with 7 threads, let’s retry with 3…
[INFO] running “D:\WebODM\resources\app\apps\ODM\SuperBuild\install\bin\PoissonRecon” --in “D:\WebODM\resources\app\apps\NodeODM\data\99fd1cd6-0d8d-428b-842f-5c664ce9e5be\odm_filterpoints\point_cloud.ply” --out “D:\WebODM\resources\app\apps\NodeODM\data\99fd1cd6-0d8d-428b-842f-5c664ce9e5be\odm_meshing\odm_mesh.dirty.ply” --depth 13 --pointWeight 4.0 --samplesPerNode 1.0 --threads 7 --bType 2 --linearFit
[WARNING] Child returned 3221225477
[WARNING] PoissonRecon failed with 3 threads, let’s retry with 1…
[INFO] running “D:\WebODM\resources\app\apps\ODM\SuperBuild\install\bin\PoissonRecon” --in “D:\WebODM\resources\app\apps\NodeODM\data\99fd1cd6-0d8d-428b-842f-5c664ce9e5be\odm_filterpoints\point_cloud.ply” --out “D:\WebODM\resources\app\apps\NodeODM\data\99fd1cd6-0d8d-428b-842f-5c664ce9e5be\odm_meshing\odm_mesh.dirty.ply” --depth 13 --pointWeight 4.0 --samplesPerNode 1.0 --threads 3 --bType 2 --linearFit
[WARNING] Child returned 3221225477
[WARNING] PoissonRecon failed with 1 threads, let’s retry with 0…
[INFO] running “D:\WebODM\resources\app\apps\ODM\SuperBuild\install\bin\PoissonRecon” --in “D:\WebODM\resources\app\apps\NodeODM\data\99fd1cd6-0d8d-428b-842f-5c664ce9e5be\odm_filterpoints\point_cloud.ply” --out “D:\WebODM\resources\app\apps\NodeODM\data\99fd1cd6-0d8d-428b-842f-5c664ce9e5be\odm_meshing\odm_mesh.dirty.ply” --depth 13 --pointWeight 4.0 --samplesPerNode 1.0 --threads 1 --bType 2 --linearFit
[WARNING] Child returned 3221225477
[INFO] running “D:\WebODM\resources\app\apps\ODM\SuperBuild\install\bin\OpenMVS\ReconstructMesh” -i “D:\WebODM\resources\app\apps\NodeODM\data\99fd1cd6-0d8d-428b-842f-5c664ce9e5be\odm_meshing\odm_mesh.dirty.ply” -o “D:\WebODM\resources\app\apps\NodeODM\data\99fd1cd6-0d8d-428b-842f-5c664ce9e5be\odm_meshing\odm_mesh.ply” --remove-spikes 0 --remove-spurious 20 --smooth 0 --target-face-num 1200000 -v 0
===== Dumping Info for Geeks (developers need this to fix bugs) =====
Child returned 1
Traceback (most recent call last):
File “D:\WebODM\resources\app\apps\ODM\stages\odm_app.py”, line 81, in execute
self.first_stage.run()
File “D:\WebODM\resources\app\apps\ODM\opendm\types.py”, line 398, in run
self.next_stage.run(outputs)
File “D:\WebODM\resources\app\apps\ODM\opendm\types.py”, line 398, in run
self.next_stage.run(outputs)
File “D:\WebODM\resources\app\apps\ODM\opendm\types.py”, line 398, in run
self.next_stage.run(outputs)
[Previous line repeated 3 more times]
File “D:\WebODM\resources\app\apps\ODM\opendm\types.py”, line 377, in run
self.process(self.args, outputs)
File “D:\WebODM\resources\app\apps\ODM\stages\odm_meshing.py”, line 25, in process
mesh.screened_poisson_reconstruction(tree.filtered_point_cloud,
File “D:\WebODM\resources\app\apps\ODM\opendm\mesh.py”, line 200, in screened_poisson_reconstruction
system.run('“{reconstructmesh}” -i “{infile}” ’
File “D:\WebODM\resources\app\apps\ODM\opendm\system.py”, line 112, in run
raise SubprocessException(“Child returned {}”.format(retcode), retcode)
opendm.system.SubprocessException: Child returned 1
This week I took some DSLR images of a very old iron to produce a 3D model, and had several task failures until I remembered encountering this error previously when using pc_geometric.