TrackerModel diagram ==================== .. uml:: ..@startuml package "TrackerModel package" #DDDDDD { class Typedef << (T,#FF7700) >>{ ConfidenceMap Trajectory } class TrackerModel{ -vector confidenceMaps; -Trajectory trajectory; -Ptr stateEstimator; ... TrackerModel(); ~TrackerModel(); +bool setTrackerStateEstimator(Ptr trackerStateEstimator); +Ptr getTrackerStateEstimator(); +void modelEstimation(const vector& responses); +void modelUpdate(); +void setLastTargetState(const Ptr lastTargetState); +void runStateEstimator(); +const vector& getConfidenceMaps(); +const ConfidenceMap& getLastConfidenceMap(); } class TrackerTargetState <>{ Point2f targetPosition; --- Point2f getTargetPosition(); void setTargetPosition(Point2f position); } class TrackerTargetState note bottom: Each tracker can create own state class TrackerStateEstimator <>{ ~TrackerStateEstimator(); static Ptr create(const String& trackeStateEstimatorType); Ptr estimate(const vector& confidenceMaps) void update(vector& confidenceMaps) } class TrackerStateEstimatorSVM{ TrackerStateEstimatorSVM() ~TrackerStateEstimatorSVM() Ptr estimate(const vector& confidenceMaps) void update(vector& confidenceMaps) } class TrackerStateEstimatorMILBoosting{ TrackerStateEstimatorMILBoosting() ~TrackerStateEstimatorMILBoosting() Ptr estimate(const vector& confidenceMaps) void update(vector& confidenceMaps) } TrackerModel -> TrackerStateEstimator: create TrackerModel *-- TrackerTargetState TrackerStateEstimator <|-- TrackerStateEstimatorMILBoosting TrackerStateEstimator <|-- TrackerStateEstimatorSVM } ..@enduml