Class VisOdomBundleAdjustment<T extends VisOdomBundleAdjustment.BTrack>


  • public class VisOdomBundleAdjustment<T extends VisOdomBundleAdjustment.BTrack>
    extends java.lang.Object
    Bundle adjustment specifically intended for use with visual odometry algorithms.
    • Field Detail

      • tracks

        public final org.ddogleg.struct.FastQueue<T extends VisOdomBundleAdjustment.BTrack> tracks
        List of all tracks that can be feed into bundle adjustment
      • structure

        public boofcv.abst.geo.bundle.SceneStructureMetric structure
      • observations

        public boofcv.abst.geo.bundle.SceneObservations observations
      • bundleAdjustment

        public boofcv.abst.geo.bundle.BundleAdjustment<boofcv.abst.geo.bundle.SceneStructureMetric> bundleAdjustment
    • Constructor Detail

      • VisOdomBundleAdjustment

        public VisOdomBundleAdjustment​(boofcv.abst.geo.bundle.BundleAdjustment<boofcv.abst.geo.bundle.SceneStructureMetric> bundleAdjustment,
                                       org.ddogleg.struct.Factory<T> factoryTracks)
    • Method Detail

      • optimize

        public void optimize()
        Performs bundle adjustment on the scene and updates parameters
      • isOptimizeActive

        public boolean isOptimizeActive()
        Returns true if it is configured to be optimized
      • reset

        public void reset()
        Returns to its original state with new views. The camera model is saved
      • findByTrackerTrack

        public T findByTrackerTrack​(boofcv.abst.tracker.PointTrack target)
        Searches for a track that has the following tracker track. null is none were found
      • addTrack

        public T addTrack​(double x,
                          double y,
                          double z,
                          double w)
      • removeFrame

        public void removeFrame​(VisOdomBundleAdjustment.BFrame frame,
                                java.util.List<boofcv.abst.tracker.PointTrack> removedVisualTracks)
        Removes the frame and all references to it. If a track has no observations after this it is also removed from the master list.
        Parameters:
        removedVisualTracks - List of tracks which were removed and were being visually tracked because they had no more observations. Cleared each call.
      • sanityCheck

        public void sanityCheck()
        Sees if the graph structure is internally consistent. Used for debugging