Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/alicevision/meshroom.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorSimone Gasparini <simone.gasparini@gmail.com>2019-03-07 16:41:14 +0300
committerSimone Gasparini <simone.gasparini@gmail.com>2019-03-07 16:41:14 +0300
commitc0507bf8e688dbcd88b069a8f2b180934e41f993 (patch)
tree91dfdf7d1c1d79c29dfd87a4941bed19d82375e8 /bin
parent9b2338488b2f8199282184f224c5e25d08272803 (diff)
[bin] added parameter override for meshroom_photogrammetry
The user can specify a json file to override the default parameter of each node.
Diffstat (limited to 'bin')
-rwxr-xr-xbin/meshroom_photogrammetry14
1 files changed, 13 insertions, 1 deletions
diff --git a/bin/meshroom_photogrammetry b/bin/meshroom_photogrammetry
index 2910ec7c..ffbd10ee 100755
--- a/bin/meshroom_photogrammetry
+++ b/bin/meshroom_photogrammetry
@@ -20,10 +20,13 @@ parser.add_argument('--inputImages', metavar='IMAGES', type=str, nargs='*',
parser.add_argument('--pipeline', metavar='MESHROOM_FILE', type=str, required=False,
help='Meshroom file containing a pre-configured photogrammetry pipeline to run on input images. '
- 'If not set, the default photogrammetry pipeline will be used. '
+ 'If not set, the default photogrammetry pipeline will be used. '
'Requirements: the graph must contain one CameraInit node, '
'and one Publish node if --output is set.')
+parser.add_argument('--overrides', metavar='SETTINGS', type=str, default=None,
+ help='A JSON file containing the graph parameters override.')
+
parser.add_argument('--output', metavar='FOLDER', type=str, required=False,
help='Output folder where results should be copied to. '
'If not set, results will have to be retrieved directly from the cache folder.')
@@ -102,6 +105,15 @@ views, intrinsics = cameraInit.nodeDesc.buildIntrinsics(cameraInit, images)
cameraInit.viewpoints.value = views
cameraInit.intrinsics.value = intrinsics
+if args.overrides:
+ import io
+ import json
+ with io.open(args.overrides, 'r', encoding='utf-8', errors='ignore') as f:
+ data = json.load(f)
+ for nodeName, overrides in data.items():
+ for attrName, value in overrides.items():
+ graph.findNode(nodeName).attribute(attrName).value = value
+
# setup DepthMap downscaling
if args.scale > 0:
for node in graph.nodesByType('DepthMap'):