MCPcopy Create free account
hub / github.com/alicevision/AliceVision / createViewpointsFile

Method createViewpointsFile

meshroom/aliceVision/CameraInit.py:655–682  ·  view source on GitHub ↗
(self, node, additionalViews=())

Source from the content-addressed store, hash-verified

653 shutil.rmtree(tmpCache)
654
655 def createViewpointsFile(self, node, additionalViews=()):
656 node.viewpointsFile = ""
657 if node.viewpoints or additionalViews:
658 newViews = []
659 for path in additionalViews: # format additional views to match json format
660 newViews.append({"path": path})
661 intrinsics = node.intrinsics.getPrimitiveValue(exportDefault=True)
662 for intrinsic in intrinsics:
663 intrinsic['principalPoint'] = [intrinsic['principalPoint']['x'], intrinsic['principalPoint']['y']]
664 intrinsic['undistortionOffset'] = [intrinsic['undistortionOffset']['x'], intrinsic['undistortionOffset']['y']]
665 intrinsic['undistortionType'] = 'none'
666 views = node.viewpoints.getPrimitiveValue(exportDefault=False)
667
668 # convert the metadata string into a map
669 for view in views:
670 if 'metadata' in view:
671 view['metadata'] = json.loads(view['metadata'])
672
673 sfmData = {
674 "version": [1, 2, 13],
675 "views": views + newViews,
676 "intrinsics": intrinsics,
677 "featureFolder": "",
678 "matchingFolder": "",
679 }
680 node.viewpointsFile = os.path.join(node.internalFolder, 'viewpoints.sfm')
681 with open(node.viewpointsFile, 'w') as f:
682 json.dump(sfmData, f, indent=4)
683
684 def buildCommandLine(self, chunk):
685 cmd = desc.CommandLineNode.buildCommandLine(self, chunk)

Callers 2

buildIntrinsicsMethod · 0.95
processChunkMethod · 0.95

Calls 2

joinMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected