ProjectedTextures
Prototype software for spacial augmented reality applications.
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
Signals | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
Tracker Class Referenceabstract

#include <Tracker.h>

Inheritance diagram for Tracker:
FiducialTracker

Signals

void newOrigin (QMatrix4x4 origin)
 
void newFps (int fps)
 

Public Member Functions

 Tracker (FilterConfig filterConfig, int maxUpdateRate=60)
 
virtual ~Tracker (void)
 
void stop ()
 
void stopAndDelete ()
 
virtual Similarity getPose (int trackableId)=0
 
virtual Similarity getOrigin ()=0
 
virtual bool isTracked (int trackableId)=0
 

Protected Member Functions

virtual void update ()=0
 
void run ()
 
void updateFPS (int timeElapsed)
 
void initKalmanFilter (cv::KalmanFilter &KF)
 
void fillMeasurements (cv::Mat &measurements, Similarity pose)
 
void updateKalmanFilter (cv::KalmanFilter &KF, cv::Mat &measurement, Similarity &pose)
 

Protected Attributes

int maxUpdateRate
 
QTime t
 
int executionTime
 
QQueue< int > fpsQueue
 
int avgFPS
 
QMutex stopMutex
 
volatile bool doStop
 
FilterConfig filterConfig
 
int nStates
 
int nMeasurements
 
int nInputs
 
Mat measurements
 

Static Protected Attributes

static const int fpsQueueLength = 32
 

Constructor & Destructor Documentation

Tracker::Tracker ( FilterConfig  filterConfig,
int  maxUpdateRate = 60 
)
Parameters
filterConfiga configuration for filtering, see FilterConfig
maxUpdateRatean upper bound for tracking framerate
virtual Tracker::~Tracker ( void  )
inlinevirtual

Member Function Documentation

void Tracker::fillMeasurements ( cv::Mat &  measurements,
Similarity  pose 
)
protected

(Kalman filter)

virtual Similarity Tracker::getOrigin ( )
pure virtual

returns the transformation between tracker origin and world origin

Implemented in FiducialTracker.

virtual Similarity Tracker::getPose ( int  trackableId)
pure virtual

returns estimated pose of trackable with trackableId

Implemented in FiducialTracker.

void Tracker::initKalmanFilter ( cv::KalmanFilter &  KF)
protected
virtual bool Tracker::isTracked ( int  trackableId)
pure virtual

is the object with the given id currently tracked?

Implemented in FiducialTracker.

void Tracker::newFps ( int  fps)
signal

average fps have been updated

void Tracker::newOrigin ( QMatrix4x4  origin)
signal

transformation of origin has been updated

void Tracker::run ( )
protected

main loop of thread

void Tracker::stop ( )

stop the thread

void Tracker::stopAndDelete ( )

stop the thread and delete this tracker

virtual void Tracker::update ( )
protectedpure virtual

this i where the tracking takes place in subclasses

Implemented in FiducialTracker.

void Tracker::updateFPS ( int  timeElapsed)
protected
void Tracker::updateKalmanFilter ( cv::KalmanFilter &  KF,
cv::Mat &  measurement,
Similarity pose 
)
protected

Member Data Documentation

int Tracker::avgFPS
protected
volatile bool Tracker::doStop
protected

thread will stop soon if this is true

int Tracker::executionTime
protected
FilterConfig Tracker::filterConfig
protected

preferences for filtering

QQueue<int> Tracker::fpsQueue
protected
const int Tracker::fpsQueueLength = 32
staticprotected
int Tracker::maxUpdateRate
protected

an upper bound for tracking framerate

Mat Tracker::measurements
protected

measurment matrix for Kalman filter

int Tracker::nInputs
protected

the number of action control (Kalman filter)

int Tracker::nMeasurements
protected

the number of measured states (Kalman filter)

int Tracker::nStates
protected

the number of states (Kalman filter)

QMutex Tracker::stopMutex
protected

makes stopping the thread thread-safe

QTime Tracker::t
protected

The documentation for this class was generated from the following files: