Interface BundleAdjustment<Structure extends SceneStructure>

All Superinterfaces:
Stoppable, VerbosePrint
All Known Implementing Classes:
BundleAdjustmentSchur, BundleAdjustmentSchur_DDRM, BundleAdjustmentSchur_DSCC

public interface BundleAdjustment<Structure extends SceneStructure>
extends Stoppable, VerbosePrint
High level interface for bundle adjustment. Bundle adjustment is the process of optimizing in batch parameters for the scene's structure, camera pose, and intrinsic camera parameters.
  • Method Details

    • configure

      void configure​(double ftol, double gtol, int maxIterations)
      Configures optimization parameters. meaning of all of these parameters is implementation dependent. They might even be ignored.
      ftol - Relative threshold for change in function value between iterations. 0 ≤ ftol ≤ 1. Try 1e-12
      gtol - Absolute threshold for convergence based on the gradient's norm. 0 disables test. 0 ≤ gtol. Try 1e-12
      maxIterations - Maximum number of iterations.
    • setParameters

      void setParameters​(Structure structure, SceneObservations observations)
      Specifies the optimization parameters. After this the initial fit score will return a valid value.
      structure - Input: Initial parameters. Output: Optimized parameters
      observations - Observation of features in each image.
    • optimize

      boolean optimize​(Structure output)
      Optimises the parameters contained in 'structure' to minimize the error in the 'observations'. This function call will block until complete. Output is written back into 'structure'
      output - Storage for optimized parameters. Can be the same structure passed into setParameters(Structure, boofcv.abst.geo.bundle.SceneObservations).
      true If the cost function has been improved. If the data is perfect to start with this will return false since it has not improved
    • getFitScore

      double getFitScore()
      Returns the fit score. Meaning is implementation specific.