Class AbstractObjectTracker
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.transformer.objecttracker.AbstractObjectTracker
-
- All Implemented Interfaces:
adams.core.Destroyable,adams.core.GlobalInfoSupporter,adams.core.logging.LoggingLevelHandler,adams.core.logging.LoggingSupporter,adams.core.option.OptionHandler,adams.core.QuickInfoSupporter,adams.core.SizeOfHandler,ObjectTracker,Serializable
- Direct Known Subclasses:
AbstractSimpleReportBasedObjectTracker,MultiObjectTracker
public abstract class AbstractObjectTracker extends adams.core.option.AbstractOptionHandler implements ObjectTracker, adams.core.QuickInfoSupporter
Ancestor for object trackers.- Version:
- $Revision$
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanm_Initializedwhether the tracker has been intialized.protected List<adams.core.base.QuadrilateralLocation>m_LastLocationsthe last location(s).
-
Constructor Summary
Constructors Constructor Description AbstractObjectTracker()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected StringcheckInitTracking(adams.data.image.AbstractImageContainer cont, List<adams.core.base.QuadrilateralLocation> locations)Performs checks before the tracking is initialized.protected StringcheckTrackObjects(adams.data.image.AbstractImageContainer cont)Performs checks before tracking an object.protected abstract StringdoInitTracking(adams.data.image.AbstractImageContainer cont, List<adams.core.base.QuadrilateralLocation> locations)Performs the actual initialization of the tracking.protected abstract List<adams.core.base.QuadrilateralLocation>doTrackObjects(adams.data.image.AbstractImageContainer cont)Performs the actual tracking of the object.protected abstract List<adams.core.base.QuadrilateralLocation>getInitialLocations(adams.data.image.AbstractImageContainer cont)Returns the initial object locations.StringgetQuickInfo()Returns a quick info about the actor, which will be displayed in the GUI.StringinitTracking(adams.data.image.AbstractImageContainer cont)Initializes the tracker.booleanisInitialized()Returns whether the tracker has been initialized.protected List<adams.core.base.QuadrilateralLocation>postProcessTrackedObjects(adams.data.image.AbstractImageContainer cont, List<adams.core.base.QuadrilateralLocation> locations)Hook method for post-processing the tracked objects.protected voidreset()Resets the scheme.List<adams.core.base.QuadrilateralLocation>trackObjects(adams.data.image.AbstractImageContainer cont)Performs the tracking of the object.-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, defineOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, globalInfo, initialize, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
-
-
-
Field Detail
-
m_Initialized
protected boolean m_Initialized
whether the tracker has been intialized.
-
m_LastLocations
protected List<adams.core.base.QuadrilateralLocation> m_LastLocations
the last location(s).
-
-
Method Detail
-
reset
protected void reset()
Resets the scheme.- Overrides:
resetin classadams.core.option.AbstractOptionHandler
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.
Default implementation does nothing.- Specified by:
getQuickInfoin interfaceadams.core.QuickInfoSupporter- Returns:
- null if no info available, otherwise short string
-
getInitialLocations
protected abstract List<adams.core.base.QuadrilateralLocation> getInitialLocations(adams.data.image.AbstractImageContainer cont)
Returns the initial object locations.- Parameters:
cont- the current image container- Returns:
- the locations, null if failed to determine
-
checkInitTracking
protected String checkInitTracking(adams.data.image.AbstractImageContainer cont, List<adams.core.base.QuadrilateralLocation> locations)
Performs checks before the tracking is initialized.- Parameters:
cont- the image to use for initializinglocations- the initial location(s) of the object(s)- Returns:
- true if successfully initialized, error message otherwise
-
doInitTracking
protected abstract String doInitTracking(adams.data.image.AbstractImageContainer cont, List<adams.core.base.QuadrilateralLocation> locations)
Performs the actual initialization of the tracking.- Parameters:
cont- the image to use for initializinglocations- the initial location(s) of the object(s)- Returns:
- true if successfully initialized, error message otherwise
-
initTracking
public String initTracking(adams.data.image.AbstractImageContainer cont)
Initializes the tracker.- Specified by:
initTrackingin interfaceObjectTracker- Parameters:
cont- the image to use for initializing- Returns:
- true if successfully initialized, error message otherwise
-
isInitialized
public boolean isInitialized()
Returns whether the tracker has been initialized.- Specified by:
isInitializedin interfaceObjectTracker- Returns:
- true if initialized
-
checkTrackObjects
protected String checkTrackObjects(adams.data.image.AbstractImageContainer cont)
Performs checks before tracking an object.- Parameters:
cont- the current image- Returns:
- null if checks passed, otherwise error message
-
doTrackObjects
protected abstract List<adams.core.base.QuadrilateralLocation> doTrackObjects(adams.data.image.AbstractImageContainer cont)
Performs the actual tracking of the object.- Parameters:
cont- the current image- Returns:
- the location(s) of the tracked object(s), null if failed to track
-
postProcessTrackedObjects
protected List<adams.core.base.QuadrilateralLocation> postProcessTrackedObjects(adams.data.image.AbstractImageContainer cont, List<adams.core.base.QuadrilateralLocation> locations)
Hook method for post-processing the tracked objects.- Parameters:
cont- the current imagelocations- the location(s) of the tracked object(s)- Returns:
- the (potentially) updated location(s) of the tracked object(s)
-
trackObjects
public List<adams.core.base.QuadrilateralLocation> trackObjects(adams.data.image.AbstractImageContainer cont)
Performs the tracking of the object.- Specified by:
trackObjectsin interfaceObjectTracker- Parameters:
cont- the current image- Returns:
- the location of the tracked image, null if failed to track
-
-