Documentation of 'boofcv.abst.feature.tracker.PointTracker' Java class
PointTracker
boofcv.abst.feature.tracker

Interface PointTracker<T extends ImageBase>

  • All Known Subinterfaces:
    PointTrackerTwoPass<T>
    All Known Implementing Classes:
    DetectDescribeAssociate, DetectDescribeAssociateTwoPass, PointTrackerCombined, PointTrackerKltPyramid, PointTrackerToTwoPass, PointTrackerTwoPassCombined, PointTrackerTwoPassKltPyramid


    public interface PointTracker<T extends ImageBase>

    Interface for tracking point features in image sequences with automatic feature selection for use in Structure From Motion (SFM) application. Access is provided to the pixel location of each track. Implementation specific track information is hidden from the user.

    Each track can have the following states, active, inactive, new, and dropped. An active track is one which was recently updated in the latest image, while an inactive one was not. New tracks were spawned in the most recent image. Dropped tracks are tracks which were automatically dropped in the most recent update.

    TRACK MAINTENANCE: Implementations of this interface should not automatically drop tracks or perform other forms of track maintenance unless the feature is hopelessly lost and can no longer be tracked. It is the responsibility of the user to drop tracks which are inactive for an excessive amount of time. New tracks should never be spawned unless specifically requested by the user.

    TRACK MEMORY: Implementations of this interface must recycle tracks. After a track has been dropped, either by the user or automatically, the reference should be saved and the user provided cookie left unmodified. When a new track is added the track information should be updated and the cookie left unmodified again. The intended purpose of this requirement is to reduce the burden of memory maintenance on the user and to encourage good memory management.

    NOTE: Tracks dropped by the user will not be included in the dropped list.

    • Method Detail

      • process

        void process(T image)
        Process input image and perform tracking.
        Parameters:
        image - Next image in the sequence
      • reset

        void reset()
        Discard memory of all current and past tracks. Growing buffered might not be reset to their initial size by this method.
      • dropAllTracks

        void dropAllTracks()
        Drops all feature to be dropped and will no longer be tracked. Tracks dropped using this function will not appear in the dropped list.
      • dropTrack

        boolean dropTrack(PointTrack track)
        Manually forces a track to be dropped. Tracks dropped using this function will not appear in the dropped list and their data is subject to being immediately recycled. New requests to all and active lists will not include the track after it has been dropped using this function. If request is made to drop a track that is not being tracked (in the internal all list), then the request is ignored.
        Parameters:
        track - The track which is to be dropped
        Returns:
        true if the request to drop the track was done or if it was ignored because the track wasn't being tracked
      • getAllTracks

        java.util.List<PointTrack> getAllTracks(java.util.List<PointTrack> list)
        Returns a list of all features that are currently being tracked
        Parameters:
        list - Optional storage for the list of tracks. If null a new list will be declared internally.
        Returns:
        List of tracks.
      • getActiveTracks

        java.util.List<PointTrack> getActiveTracks(java.util.List<PointTrack> list)
        Returns a list of active tracks. An active track is defined as a track which was found in the most recently processed image.
        Parameters:
        list - Optional storage for the list of tracks. If null a new list will be declared internally.
        Returns:
        List of tracks.
      • getInactiveTracks

        java.util.List<PointTrack> getInactiveTracks(java.util.List<PointTrack> list)
        Returns a list of inactive tracks. A track is inactive if it is not associated with any features in the current image.
        Parameters:
        list - Optional storage for the list of tracks. If null a new list will be declared internally.
        Returns:
        List of tracks.
      • getDroppedTracks

        java.util.List<PointTrack> getDroppedTracks(java.util.List<PointTrack> list)
        Returns a list of tracks dropped by the tracker during the most recent update. Tracks dropped by user request are not included in this list.
        Parameters:
        list - Optional storage for the list of tracks. If null a new list will be declared internally.
        Returns:
        List of tracks.
      • getNewTracks

        java.util.List<PointTrack> getNewTracks(java.util.List<PointTrack> list)
        Returns a list of tracks that have been added since process was called.
        Parameters:
        list - Optional storage for the list of tracks. If null a new list will be declared internally.
        Returns:
        List of tracks.
      • spawnTracks

        void spawnTracks()
        Automatically selects new features in the image to track. Returned tracks must be unique and not duplicates of any existing tracks. This includes both active and inactive tracks. NOTE: This function may or may not also modify the active and inactive lists.

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.