public boolean process ( List < AssociatedTriple > associated , int width , int height ) { init ( width , height ) ; // Fit a trifocal tensor to the input observations if ( ! robustFitTrifocal ( associated ) ) return false ; // estimate the scene's structure if ( ! estimateProjectiveScene ( ) ) return false ; if ( ! projectiveToMetric ( ) ) return false ; // Run bundle adjustment while make sure a valid solution is found setupMetricBundleAdjustment ( inliers ) ; bundleAdjustment = FactoryMultiView . bundleSparseMetric ( configSBA ) ; findBestValidSolution ( bundleAdjustment ) ; // Prune outliers and run bundle adjustment one last time pruneOutliers ( bundleAdjustment ) ; return true ; }
Determines the metric scene . The principle point is assumed to be zero in the passed in pixel coordinates . Typically this is done by subtracting the image center from each pixel coordinate for each view .