diff options
author | Simone Gasparini <simone.gasparini@gmail.com> | 2019-03-07 16:41:14 +0300 |
---|---|---|
committer | Simone Gasparini <simone.gasparini@gmail.com> | 2019-03-07 16:41:14 +0300 |
commit | c0507bf8e688dbcd88b069a8f2b180934e41f993 (patch) | |
tree | 91dfdf7d1c1d79c29dfd87a4941bed19d82375e8 /bin | |
parent | 9b2338488b2f8199282184f224c5e25d08272803 (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-x | bin/meshroom_photogrammetry | 14 |
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'): |