Meshroom/meshroom/multiview.py
2017-10-16 18:18:35 +02:00

40 lines
2 KiB
Python

import os
from .core.graph import Graph
def photogrammetryPipeline():
# type: () -> Graph
graph = Graph('pipeline')
cameraInit = graph.addNewNode('CameraInit',
sensorDatabase=os.environ.get('ALICEVISION_SENSOR_DB', None))
featureExtraction = graph.addNewNode('FeatureExtraction',
input=cameraInit.outputSfm)
imageMatching = graph.addNewNode('ImageMatching',
input=cameraInit.outputSfm,
featuresDirectory=featureExtraction.output,
tree=os.environ.get('ALICEVISION_VOCTREE', None),
)
featureMatching = graph.addNewNode('FeatureMatching',
input=cameraInit.outputSfm,
featuresDirectory=featureExtraction.output,
imagePairsList=imageMatching.output)
structureFromMotion = graph.addNewNode('StructureFromMotion',
input=cameraInit.outputSfm,
featuresDirectory=featureExtraction.output,
matchesDirectory=featureMatching.output)
prepareDenseScene = graph.addNewNode('PrepareDenseScene',
input=structureFromMotion.output)
camPairs = graph.addNewNode('CamPairs',
mvsConfig=prepareDenseScene.mvsConfig)
depthMap = graph.addNewNode('DepthMap',
mvsConfig=camPairs.mvsConfig)
depthMapFilter = graph.addNewNode('DepthMapFilter',
mvsConfig=depthMap.mvsConfig)
meshing = graph.addNewNode('Meshing',
mvsConfig=depthMapFilter.mvsConfig)
texturing = graph.addNewNode('Texturing',
mvsConfig=meshing.mvsConfig)
return graph