Merge pull request #369 from alicevision/dev_imageGallery_intrinsics

Image gallery improvements + intrinsics display
This commit is contained in:
Fabien Castan 2019-01-29 16:02:56 +01:00 committed by GitHub
commit 6823695146
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 426 additions and 100 deletions

View file

@ -24,9 +24,6 @@ Intrinsic = [
desc.FloatParam(name="pxInitialFocalLength", label="Initial Focal Length", description="Initial Guess on the Focal Length", value=-1.0, uid=[0], range=None),
desc.FloatParam(name="pxFocalLength", label="Focal Length", description="Known/Calibrated Focal Length", value=-1.0, uid=[0], range=None),
desc.ChoiceParam(name="type", label="Camera Type", description="Camera Type", value="", values=['', 'pinhole', 'radial1', 'radial3', 'brown', 'fisheye4'], exclusive=True, uid=[0]),
# desc.StringParam(name="deviceMake", label="Make", description="Camera Make", value="", uid=[]),
# desc.StringParam(name="deviceModel", label="Model", description="Camera Model", value="", uid=[]),
# desc.StringParam(name="sensorWidth", label="Sensor Width", description="Camera Sensor Width", value="", uid=[0]),
desc.IntParam(name="width", label="Width", description="Image Width", value=0, uid=[], range=(0, 10000, 1)),
desc.IntParam(name="height", label="Height", description="Image Height", value=0, uid=[], range=(0, 10000, 1)),
desc.StringParam(name="serialNumber", label="Serial Number", description="Device Serial Number (camera and lens combined)", value="", uid=[]),
@ -34,6 +31,20 @@ Intrinsic = [
desc.FloatParam(name="x", label="x", description="", value=0, uid=[], range=(0, 10000, 1)),
desc.FloatParam(name="y", label="y", description="", value=0, uid=[], range=(0, 10000, 1)),
]),
desc.ChoiceParam(name="initializationMode", label="Initialization Mode",
description="Defines how this Intrinsic was initialized:\n"
" * calibrated: calibrated externally.\n"
" * estimated: estimated from metadata and/or sensor width. \n"
" * unknown: unknown camera parameters (can still have default value guess)\n"
" * none: not set",
values=("calibrated", "estimated", "unknown", "none"),
value="none",
exclusive=True,
uid=[],
advanced=True
),
desc.ListAttribute(
name="distortionParams",
elementDesc=desc.FloatParam(name="p", label="", description="", value=0.0, uid=[0], range=(-0.1, 0.1, 0.01)),
@ -113,6 +124,21 @@ class CameraInit(desc.CommandLineNode):
range=(0, 180.0, 1),
uid=[0],
),
desc.ChoiceParam(
name='groupCameraFallback',
label='Group Camera Fallback',
description="If there is no serial number in image metadata, devices cannot be accurately identified.\n"
"Therefore, internal camera parameters cannot be shared among images reliably.\n"
"A fallback grouping strategy must be chosen:\n"
" * global: group images from comparable devices (same make/model/focal) globally.\n"
" * folder: group images from comparable devices only within the same folder.\n"
" * image: never group images from comparable devices",
values=['global', 'folder', 'image'],
value='folder',
exclusive=True,
uid=[0],
advanced=True
),
desc.ChoiceParam(
name='verboseLevel',
label='Verbose Level',
@ -154,7 +180,6 @@ class CameraInit(desc.CommandLineNode):
os.makedirs(os.path.join(tmpCache, node.internalFolder))
self.createViewpointsFile(node, additionalViews)
cmd = self.buildCommandLine(node.chunks[0])
cmd += " --allowIncompleteOutput 1" # don't throw an error if the image intrinsic is undefined
# logging.debug(' - commandLine:', cmd)
subprocess = psutil.Popen(cmd, stdout=None, stderr=None, shell=True)
stdout, stderr = subprocess.communicate()