Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
BIAS::Tracker< StorageType, CalculationType > Class Template Reference

High level tracking class. More...

#include <Matcher2D/Tracker.hh>

+ Inheritance diagram for BIAS::Tracker< StorageType, CalculationType >:
+ Collaboration diagram for BIAS::Tracker< StorageType, CalculationType >:

Public Member Functions

void AddDebugLevel (const long int lv)
 
void AddDebugLevel (const std::string &name)
 
bool DebugLevelIsSet (const long int lv) const
 
bool DebugLevelIsSet (const std::string &name) const
 
void DumpResults (std::ostream &os=std::cout)
 
int GetDebugLevel () const
 
std::ostream & GetDebugStream () const
 
void GetDebugStream (std::ostream &os) const
 
long int Name2DebugLevel (const std::string &name) const
 looks up a debuglevel in the internal map, returns 0 if not found More...
 
long int NewDebugLevel (const std::string &name)
 creates a new debuglevel More...
 
void PrintDebugLevel (std::ostream &os=std::cout) const
 
void RemoveDebugLevel (const long int lv)
 
void RemoveDebugLevel (const std::string &name)
 
void ReplaceLastImages (PyramidImageInterface< CalculationType > *pim, PyramidImageInterface< CalculationType > *gradx, PyramidImageInterface< CalculationType > *grady)
 This function allows the replacement of the last images. More...
 
void SetDebugLevel (const long int lv)
 
void SetDebugLevel (const std::string &name)
 
void SetDebugStream (const std::ostream &os)
 
void ShowDebugLevel (std::ostream &os=std::cout) const
 prints all internally known debuglevels More...
 
int WriteTrackFile (std::deque< std::vector< HomgPoint2D > > &p, std::deque< std::vector< int > > &results, const std::string &name)
 write a track file in Birchfeld-style. More...
 
Initialization functions
 Tracker (int tracker_type=TT_Simple)
 Default constructor without param object. More...
 
virtual ~Tracker ()
 
void ClearPoints ()
 Clears the internal data structures, i.e. More...
 
void Reset ()
 Calls ClearPoints and sets pointer to last image and gradients to zero. More...
 
Point manipulation functions
int FillUpPoints (const std::vector< HomgPoint2D > &points, const std::vector< float > &qual)
 Replaces points to which no correspondence could be established in the internal data structures. More...
 
int ReplacePoints (const std::vector< HomgPoint2D > &points, const std::vector< float > &qual)
 Place every point from points which is not at infinity, in the internal data structure Points_. More...
 
int ReplaceAllPoints (const std::vector< HomgPoint2D > &points, const std::vector< float > &qual)
 Place every point from points even those at infinity, in the internal data structure Points_. More...
 
Tracking and image preparation functions

These functions need to be called for every new image.

int PreparePyramide (const Image< StorageType > &im, PyramidImageInterface< CalculationType > &pim, PyramidImageInterface< CalculationType > &gx, PyramidImageInterface< CalculationType > &gy, FilterNTo2N< CalculationType, CalculationType > &grad, FilterNToN< StorageType, CalculationType > &lowpass)
 Prepares the pyramid images: Filters im to pim[0], downsamples pim[0] and calculates the gradients gx and gy of pim in every pyramid level. More...
 
int PreparePyramide (const Image< StorageType > &im, PyramidImageInterface< CalculationType > &pim, PyramidImageInterface< CalculationType > &gx, PyramidImageInterface< CalculationType > &gy)
 Prepare pyramid using default gradient and lowpass filter. More...
 
int PreparePyramide (const Image< StorageType > &im, PyramidImageInterface< CalculationType > &pim)
 Prepares the pyramid images. More...
 
virtual int Track (PyramidImageInterface< CalculationType > &pim, PyramidImageInterface< CalculationType > &gradx, PyramidImageInterface< CalculationType > &grady)
 Tracks all points from the internal data structure Points_. More...
 
virtual int Track (PyramidImageInterface< CalculationType > &pim, PyramidImageInterface< CalculationType > &gradx, PyramidImageInterface< CalculationType > &grady, const std::vector< HomgPoint2D > &prediction, const std::vector< Matrix2x2< KLT_TYPE > > &affineprediction=std::vector< Matrix2x2< KLT_TYPE > >())
 tracks all points in Points_ using prediction as previous knowledge More...
 
virtual int Track (PyramidImageInterface< CalculationType > &pim)
 Tracks all points from the internal data structure Points_. More...
 
virtual int Track (PyramidImageInterface< CalculationType > &pim, const std::vector< HomgPoint2D > &prediction, const std::vector< Matrix2x2< KLT_TYPE > > &affineprediction=std::vector< Matrix2x2< KLT_TYPE > >())
 tracks all points in Points_ using prediction as previous knowledge More...
 
Result access functions

Functions for accessing results like point position, number of iterations, ...

void GetPoints (std::vector< HomgPoint2D > &p) const
 returns the point positions in the actual image points at infinity (w=0.0) are returned, if tracking failed More...
 
void GetNumIter (std::vector< int > &numiter) const
 returns the number of iterations used in the biggest pyramid level More...
 
void GetError (std::vector< double > &error) const
 returns the displacement in the last iteration on the biggest pyramid level. More...
 
void GetResiduiMAD (std::vector< double > &residui) const
 returns the mean grey level difference in the tracking window on the biggest pyramid level. More...
 
void GetResiduiMSD (std::vector< double > &residui) const
 returns the squared mean grey level difference in the tracking window on the biggest pyramid level. More...
 
void GetResults (std::vector< int > &results) const
 returns the results from the base tracker class on the biggest pyramid level. More...
 
void GetAffineEstimates (std::vector< Matrix2x2< double > > &results)
 returns estimated affine matrices More...
 
void GetCovariances (std::vector< Matrix< double > > &cov) const
 returns covariance matrices for biggest pyramid level. More...
 
Parameter access

Functions for accessing the parameter

int GetTrackerType ()
 return trackerbase type currently active More...
 
void SetTrackerType (int tracker_type)
 
enum ERejectionType GetRejectionType ()
 
void SetRejectionType (int rejection_type)
 
void SetAffineBrightnessInvariance (bool bi)
 
const Vector< int > & GetHalfWinSize ()
 
void SetHalfWinSize (const Vector< int > &hws)
 
void SetWeightMatrix (const std::vector< Matrix< KLT_TYPE > > &matrices)
 
void SetMaxError (const Vector< double > &max_error)
 
void SetMaxResiduumMAD (const Vector< KLT_TYPE > &maxres)
 !!! Also used for X84M as maximal residuum. More...
 
void SetMaxIterations (const Vector< int > &max_iter)
 
void SetCoarsePointUsage (const bool &UseCoarse)
 
void SetLowpassMask (const FilterMask &mask)
 
void SetGradXMask (const FilterMask &mask)
 
void SetGradYMask (const FilterMask &mask)
 
void SetLowpassMask (Vector< double > &vec, bool separable)
 
void SetGradXMask (Vector< double > &vec, bool separable)
 
void SetGradYMask (Vector< double > &vec, bool separable)
 

Static Public Member Functions

static long int GetGlobalDebugLevel ()
 
static void SetGlobalDebugLevel (long int lev)
 

Protected Member Functions

long ConsumeNextFreeDebuglevel_ ()
 returns the next available debuglevel More...
 
void DetermineROI_ (int &tlx, int &tly, int &brx, int &bry) const
 
void PadPoints_ (const int start)
 sets all points with index>=start in the internal data structures to infinity More...
 
void ReserveInternals_ (const int pysize, const int pointsize)
 
void ResizeInternals_ (const int pysize)
 
void ResizeInternals_ (const int pysize, const int num_points)
 adapts the internal memory to new pyramid size and new point count if necessary. More...
 
void Vector2FilterMask_ (Vector< double > &input, FilterMask &mask, bool separable)
 
void WriteTrackLog_ (int num)
 logs reasons for lost tracks into tracker.log More...
 

Protected Attributes

long int _liDebugLevel
 
long int _liNextDebugLevel
 new concept, debuglevel are managed here in the debug class More...
 
std::map< std::string, long int > _String2Debuglevel
 
std::vector< Matrix2x2< double > > AffinePrediction_
 prediction for affine warping, same for all pyramid levels More...
 
std::vector< std::vector
< Matrix2x2< double > > > 
AffineResults_
 results of affine tracking More...
 
std::vector< std::vector
< Matrix< double > > > 
Cov_
 covariance matrices More...
 
std::vector< std::vector
< double > > 
DisplInLastIter_
 displacement inlast iteration More...
 
FilterNTo2N< CalculationType,
CalculationType > * 
grad_
 the gradient filter More...
 
FilterMask GradXFM_
 
FilterMask GradYFM_
 
Vector< int > HalfWinSize_
 
PyramidImageInterface
< CalculationType > * 
LastGradX_
 
PyramidImageInterface
< CalculationType > * 
LastGradY_
 
PyramidImageInterface
< CalculationType > * 
LastImage_
 
FilterNToN< StorageType,
CalculationType > * 
lowpass_
 the lowpass filter More...
 
FilterMask LowpassFM_
 
Vector< KLT_TYPE > MaxError_
 
Vector< int > MaxIter_
 the parameter More...
 
Vector< KLT_TYPE > MaxResiduumMAD_
 
std::vector< std::vector< int > > NumIter_
 number of iterations used More...
 
std::vector< HomgPoint2Dp2tracked_
 temporary data More...
 
std::vector< std::vector
< HomgPoint2D > > 
Points_
 the point position in the actual image More...
 
std::vector< std::vector
< HomgPoint2D > > 
PredictedPoints_
 the prediction for every pyramid image More...
 
int PyIndex_
 
std::vector< std::vector< int > > res_
 result code for every point More...
 
std::vector< std::vector
< double > > 
ResiduiMAD_
 mean absolute grey level difference (MAD) in tracking window More...
 
std::vector< std::vector
< double > > 
ResiduiMSD_
 mean squared grey level difference (MSD) in tracking window More...
 
TrackerBaseInterface
< CalculationType > * 
tb_
 the base tracker More...
 
bool UseCoarserPointIfLost_
 set if you want to keep track of points regardless of trackability in highest resolution More...
 
std::vector< BIAS::Matrix
< KLT_TYPE > > 
WeightMatrices_
 

Static Protected Attributes

static std::ostream _zDebugStream
 
static long int GlobalDebugLevel = 0
 

Detailed Description

template<class StorageType, class CalculationType>
class BIAS::Tracker< StorageType, CalculationType >

High level tracking class.

Provides a convenient interface for tracking tasks using pyramid images.

See ExampleTracker3 for brief exemplary usage.

Author
woelk
Examples:
ExampleTracker.cpp.

Definition at line 72 of file Tracker.hh.

Constructor & Destructor Documentation

template<class StorageType , class CalculationType >
Tracker::Tracker ( int  tracker_type = TT_Simple)

Default constructor without param object.

Definition at line 60 of file Tracker.cpp.

template<class StorageType , class CalculationType >
Tracker::~Tracker ( )
virtual

Definition at line 96 of file Tracker.cpp.

Member Function Documentation

void BIAS::Debug::AddDebugLevel ( const long int  lv)
inlineinherited
void BIAS::Debug::AddDebugLevel ( const std::string &  name)
inlineinherited

Definition at line 362 of file Debug.hh.

template<class StorageType , class CalculationType >
void Tracker::ClearPoints ( )

Clears the internal data structures, i.e.

POints_, POints2_, NumIter_, DisplInLastIter_, ResiduiMAD_, ResiduiMSD_, res_ and Cov_.

Author
woelk 09/2004

Definition at line 127 of file Tracker.cpp.

long BIAS::Debug::ConsumeNextFreeDebuglevel_ ( )
inlineprotectedinherited

returns the next available debuglevel

Author
woelk 09/2006

Definition at line 521 of file Debug.hh.

bool BIAS::Debug::DebugLevelIsSet ( const long int  lv) const
inlineinherited
bool BIAS::Debug::DebugLevelIsSet ( const std::string &  name) const
inlineinherited

Definition at line 350 of file Debug.hh.

template<class StorageType , class CalculationType >
void Tracker::DetermineROI_ ( int &  tlx,
int &  tly,
int &  brx,
int &  bry 
) const
protected

Definition at line 210 of file Tracker.cpp.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::DumpResults ( std::ostream &  os = std::cout)
inline

Definition at line 355 of file Tracker.hh.

template<class StorageType , class CalculationType >
int Tracker::FillUpPoints ( const std::vector< HomgPoint2D > &  points,
const std::vector< float > &  qual 
)

Replaces points to which no correspondence could be established in the internal data structures.

These "lost" points are marked in the internal data structure by setting the last component (w) to zero (0.0). Traverses the argument list subsequently and makes use of as many points as necessary. Only points further away than *MinBorderDist_ from roi border are added to internal data structures.

If "ghost tracks" appear, try to make the corner detector aware of points which are already tracked :

CornerDetector cd;
vector<HomgPoint2D> pt
tr.GetPoints(pt);
cd.Detect(image, pt, qual);
tr.FillUpPoints(pt, qual);

See also documentation of CornerDetectorGradient::Detect().

The argument "qual" refers to the quality from the corner detector.

Returns
number of used points, negative on error.
Author
woelk 09/2004

Definition at line 233 of file Tracker.cpp.

References BIAS::HomgPoint2D::Homogenize(), and BIAS::Matrix2x2< T >::SetZero().

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::GetAffineEstimates ( std::vector< Matrix2x2< double > > &  results)
inline

returns estimated affine matrices

Definition at line 256 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::GetCovariances ( std::vector< Matrix< double > > &  cov) const
inline

returns covariance matrices for biggest pyramid level.

Author
woelk 06/2005

Definition at line 262 of file Tracker.hh.

int BIAS::Debug::GetDebugLevel ( ) const
inlineinherited
std::ostream& BIAS::Debug::GetDebugStream ( ) const
inlineinherited

Definition at line 405 of file Debug.hh.

void BIAS::Debug::GetDebugStream ( std::ostream &  os) const
inlineinherited

Definition at line 414 of file Debug.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::GetError ( std::vector< double > &  error) const
inline

returns the displacement in the last iteration on the biggest pyramid level.

Author
woelk 09/2004

Definition at line 226 of file Tracker.hh.

static long int BIAS::Debug::GetGlobalDebugLevel ( )
inlinestaticinherited

Definition at line 431 of file Debug.hh.

template<class StorageType, class CalculationType>
const Vector<int>& BIAS::Tracker< StorageType, CalculationType >::GetHalfWinSize ( )
inline

Definition at line 299 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::GetNumIter ( std::vector< int > &  numiter) const
inline

returns the number of iterations used in the biggest pyramid level

Author
woelk 09/2004

Definition at line 220 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::GetPoints ( std::vector< HomgPoint2D > &  p) const
inline

returns the point positions in the actual image points at infinity (w=0.0) are returned, if tracking failed

Author
woelk

Definition at line 214 of file Tracker.hh.

template<class StorageType, class CalculationType>
enum ERejectionType BIAS::Tracker< StorageType, CalculationType >::GetRejectionType ( )
inline

Definition at line 289 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::GetResiduiMAD ( std::vector< double > &  residui) const
inline

returns the mean grey level difference in the tracking window on the biggest pyramid level.

Author
woelk 09/2004

Definition at line 232 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::GetResiduiMSD ( std::vector< double > &  residui) const
inline

returns the squared mean grey level difference in the tracking window on the biggest pyramid level.

Author
woelk 09/2004

Definition at line 238 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::GetResults ( std::vector< int > &  results) const
inline

returns the results from the base tracker class on the biggest pyramid level.

0 on success (error< maxerror) - the point was tracked -1 when no spatial structure is present -2 when point slid out of image -3 when maxiter is reached an error is above maxerror -4 when a point lies outside of valid region in images -5 when the mean absolute difference between the two poinst -6 when input point is at infinity 1 when error increased from last iteration

Author
woelk 09/2004

Definition at line 252 of file Tracker.hh.

template<class StorageType , class CalculationType >
int Tracker::GetTrackerType ( )

return trackerbase type currently active

Definition at line 1277 of file Tracker.cpp.

References BIAS::TT_Affine, BIAS::TT_Affine2, BIAS::TT_Homography, BIAS::TT_Invalid, BIAS::TT_Similar, BIAS::TT_Simple, BIAS::TT_SimpleWeighted, and BIAS::TT_Weighted1D.

long int BIAS::Debug::Name2DebugLevel ( const std::string &  name) const
inlineinherited

looks up a debuglevel in the internal map, returns 0 if not found

Author
woelk 09/2006

Definition at line 454 of file Debug.hh.

long int BIAS::Debug::NewDebugLevel ( const std::string &  name)
inlineinherited
template<class StorageType , class CalculationType >
void Tracker::PadPoints_ ( const int  start)
protected

sets all points with index>=start in the internal data structures to infinity

Definition at line 1263 of file Tracker.cpp.

template<class StorageType , class CalculationType >
int Tracker::PreparePyramide ( const Image< StorageType > &  im,
PyramidImageInterface< CalculationType > &  pim,
PyramidImageInterface< CalculationType > &  gx,
PyramidImageInterface< CalculationType > &  gy,
FilterNTo2N< CalculationType, CalculationType > &  grad,
FilterNToN< StorageType, CalculationType > &  lowpass 
)
template<class StorageType , class CalculationType >
int Tracker::PreparePyramide ( const Image< StorageType > &  im,
PyramidImageInterface< CalculationType > &  pim,
PyramidImageInterface< CalculationType > &  gx,
PyramidImageInterface< CalculationType > &  gy 
)

Prepare pyramid using default gradient and lowpass filter.

Definition at line 620 of file Tracker.cpp.

template<class StorageType , class CalculationType >
int Tracker::PreparePyramide ( const Image< StorageType > &  im,
PyramidImageInterface< CalculationType > &  pim 
)
void BIAS::Debug::PrintDebugLevel ( std::ostream &  os = std::cout) const
inlineinherited

Definition at line 383 of file Debug.hh.

void BIAS::Debug::RemoveDebugLevel ( const long int  lv)
inlineinherited

Definition at line 369 of file Debug.hh.

void BIAS::Debug::RemoveDebugLevel ( const std::string &  name)
inlineinherited

Definition at line 376 of file Debug.hh.

template<class StorageType , class CalculationType >
int Tracker::ReplaceAllPoints ( const std::vector< HomgPoint2D > &  points,
const std::vector< float > &  qual 
)

Place every point from points even those at infinity, in the internal data structure Points_.

Author
woelk 09/2004

Definition at line 383 of file Tracker.cpp.

References BIAS::HomgPoint2D::Homogenize(), BIAS::HomgPoint2D::IsAtInfinity(), and BIAS::Matrix2x2< T >::SetZero().

template<class StorageType , class CalculationType >
void Tracker::ReplaceLastImages ( PyramidImageInterface< CalculationType > *  pim,
PyramidImageInterface< CalculationType > *  gradx,
PyramidImageInterface< CalculationType > *  grady 
)

This function allows the replacement of the last images.

It is intended to be used when all points in the current image should be mapped against different reference image for every point. A set of "last images" is constructed from patches

Author
woelk 02/2006

Definition at line 104 of file Tracker.cpp.

References BIAS::PyramidImageInterface< StorageType >::ShallowClone().

template<class StorageType , class CalculationType >
int Tracker::ReplacePoints ( const std::vector< HomgPoint2D > &  points,
const std::vector< float > &  qual 
)

Place every point from points which is not at infinity, in the internal data structure Points_.

Author
woelk 09/2004

Definition at line 330 of file Tracker.cpp.

References BIAS::HomgPoint2D::Homogenize(), and BIAS::Matrix2x2< T >::SetZero().

template<class StorageType , class CalculationType >
void Tracker::ReserveInternals_ ( const int  pysize,
const int  pointsize 
)
protected

Definition at line 183 of file Tracker.cpp.

template<class StorageType , class CalculationType >
void Tracker::Reset ( )

Calls ClearPoints and sets pointer to last image and gradients to zero.

Author
streckel 11/2004

Definition at line 202 of file Tracker.cpp.

template<class StorageType , class CalculationType >
void Tracker::ResizeInternals_ ( const int  pysize)
protected

Definition at line 141 of file Tracker.cpp.

template<class StorageType , class CalculationType >
void Tracker::ResizeInternals_ ( const int  pysize,
const int  num_points 
)
protected

adapts the internal memory to new pyramid size and new point count if necessary.

Author
woelk 02/2006

Definition at line 158 of file Tracker.cpp.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetAffineBrightnessInvariance ( bool  bi)
inline

Definition at line 295 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetCoarsePointUsage ( const bool &  UseCoarse)
inline

Definition at line 322 of file Tracker.hh.

void BIAS::Debug::SetDebugLevel ( const long int  lv)
inlineinherited
void BIAS::Debug::SetDebugLevel ( const std::string &  name)
inlineinherited

Definition at line 325 of file Debug.hh.

void BIAS::Debug::SetDebugStream ( const std::ostream &  os)
inlineinherited

Definition at line 398 of file Debug.hh.

static void BIAS::Debug::SetGlobalDebugLevel ( long int  lev)
inlinestaticinherited

Definition at line 424 of file Debug.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetGradXMask ( const FilterMask mask)
inline

Definition at line 329 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetGradXMask ( Vector< double > &  vec,
bool  separable 
)
inline

Definition at line 341 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetGradYMask ( const FilterMask mask)
inline

Definition at line 332 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetGradYMask ( Vector< double > &  vec,
bool  separable 
)
inline

Definition at line 346 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetHalfWinSize ( const Vector< int > &  hws)
inline

Definition at line 302 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetLowpassMask ( const FilterMask mask)
inline

Definition at line 326 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetLowpassMask ( Vector< double > &  vec,
bool  separable 
)
inline

Definition at line 336 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetMaxError ( const Vector< double > &  max_error)
inline

Definition at line 308 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetMaxIterations ( const Vector< int > &  max_iter)
inline

Definition at line 319 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetMaxResiduumMAD ( const Vector< KLT_TYPE > &  maxres)
inline

!!! Also used for X84M as maximal residuum.

That is features with a residuum <= 'maxres' will be accept automatically! !!!

Definition at line 316 of file Tracker.hh.

template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetRejectionType ( int  rejection_type)
inline

Definition at line 292 of file Tracker.hh.

template<class StorageType , class CalculationType >
void Tracker::SetTrackerType ( int  tracker_type)
template<class StorageType, class CalculationType>
void BIAS::Tracker< StorageType, CalculationType >::SetWeightMatrix ( const std::vector< Matrix< KLT_TYPE > > &  matrices)
inline

Definition at line 305 of file Tracker.hh.

void BIAS::Debug::ShowDebugLevel ( std::ostream &  os = std::cout) const
inlineinherited

prints all internally known debuglevels

Author
woelk 09/2006

Definition at line 496 of file Debug.hh.

template<class StorageType , class CalculationType >
int Tracker::Track ( PyramidImageInterface< CalculationType > &  pim,
PyramidImageInterface< CalculationType > &  gradx,
PyramidImageInterface< CalculationType > &  grady 
)
virtual

Tracks all points from the internal data structure Points_.

Author
woelk 09/2004

Reimplemented in BIAS::TrackerSynth< StorageType, CalculationType >.

Definition at line 874 of file Tracker.cpp.

Referenced by BIAS::TrackerSynth< StorageType, CalculationType >::Track().

template<class StorageType , class CalculationType >
int Tracker::Track ( PyramidImageInterface< CalculationType > &  pim,
PyramidImageInterface< CalculationType > &  gradx,
PyramidImageInterface< CalculationType > &  grady,
const std::vector< HomgPoint2D > &  prediction,
const std::vector< Matrix2x2< KLT_TYPE > > &  affineprediction = std::vector<Matrix2x2<KLT_TYPE> >() 
)
virtual
template<class StorageType , class CalculationType >
int Tracker::Track ( PyramidImageInterface< CalculationType > &  pim)
virtual

Tracks all points from the internal data structure Points_.

Author
woelk 09/2004

Definition at line 632 of file Tracker.cpp.

template<class StorageType , class CalculationType >
int Tracker::Track ( PyramidImageInterface< CalculationType > &  pim,
const std::vector< HomgPoint2D > &  prediction,
const std::vector< Matrix2x2< KLT_TYPE > > &  affineprediction = std::vector<Matrix2x2<KLT_TYPE> >() 
)
virtual
template<class StorageType , class CalculationType >
void Tracker::Vector2FilterMask_ ( Vector< double > &  input,
FilterMask mask,
bool  separable 
)
protected
template<class StorageType , class CalculationType >
int Tracker::WriteTrackFile ( std::deque< std::vector< HomgPoint2D > > &  p,
std::deque< std::vector< int > > &  results,
const std::string &  name 
)

write a track file in Birchfeld-style.

The file is independent of internal data structures. p[i][k] is point number k in image i and results[i][k] is result for point number k in image i.

Author
woelk 09/2004

Definition at line 1203 of file Tracker.cpp.

template<class StorageType , class CalculationType >
void Tracker::WriteTrackLog_ ( int  num)
protected

logs reasons for lost tracks into tracker.log

Definition at line 1142 of file Tracker.cpp.

Member Data Documentation

long int BIAS::Debug::_liDebugLevel
protectedinherited

Definition at line 510 of file Debug.hh.

Referenced by BIAS::Debug::operator=(), and BIAS::ImageBase::operator=().

long int BIAS::Debug::_liNextDebugLevel
protectedinherited

new concept, debuglevel are managed here in the debug class

Definition at line 516 of file Debug.hh.

Referenced by BIAS::Debug::operator=().

std::map<std::string, long int> BIAS::Debug::_String2Debuglevel
protectedinherited

Definition at line 517 of file Debug.hh.

Referenced by BIAS::Debug::operator=().

std::ostream BIAS::Debug::_zDebugStream
staticprotectedinherited

Definition at line 511 of file Debug.hh.

Referenced by BIAS::Debug::operator=().

template<class StorageType, class CalculationType>
std::vector<Matrix2x2<double> > BIAS::Tracker< StorageType, CalculationType >::AffinePrediction_
protected

prediction for affine warping, same for all pyramid levels

Definition at line 411 of file Tracker.hh.

template<class StorageType, class CalculationType>
std::vector<std::vector<Matrix2x2<double> > > BIAS::Tracker< StorageType, CalculationType >::AffineResults_
protected

results of affine tracking

Definition at line 409 of file Tracker.hh.

template<class StorageType, class CalculationType>
std::vector<std::vector<Matrix<double> > > BIAS::Tracker< StorageType, CalculationType >::Cov_
protected

covariance matrices

Definition at line 407 of file Tracker.hh.

template<class StorageType, class CalculationType>
std::vector<std::vector<double> > BIAS::Tracker< StorageType, CalculationType >::DisplInLastIter_
protected

displacement inlast iteration

Definition at line 401 of file Tracker.hh.

long int BIAS::Debug::GlobalDebugLevel = 0
staticprotectedinherited

Definition at line 513 of file Debug.hh.

template<class StorageType, class CalculationType>
FilterNTo2N<CalculationType, CalculationType>* BIAS::Tracker< StorageType, CalculationType >::grad_
protected

the gradient filter

Definition at line 375 of file Tracker.hh.

template<class StorageType, class CalculationType>
FilterMask BIAS::Tracker< StorageType, CalculationType >::GradXFM_
protected

Definition at line 413 of file Tracker.hh.

template<class StorageType, class CalculationType>
FilterMask BIAS::Tracker< StorageType, CalculationType >::GradYFM_
protected

Definition at line 413 of file Tracker.hh.

template<class StorageType, class CalculationType>
Vector<int> BIAS::Tracker< StorageType, CalculationType >::HalfWinSize_
protected

Definition at line 384 of file Tracker.hh.

template<class StorageType, class CalculationType>
PyramidImageInterface<CalculationType>* BIAS::Tracker< StorageType, CalculationType >::LastGradX_
protected

Definition at line 419 of file Tracker.hh.

template<class StorageType, class CalculationType>
PyramidImageInterface<CalculationType> * BIAS::Tracker< StorageType, CalculationType >::LastGradY_
protected

Definition at line 419 of file Tracker.hh.

template<class StorageType, class CalculationType>
PyramidImageInterface<CalculationType>* BIAS::Tracker< StorageType, CalculationType >::LastImage_
protected

Definition at line 418 of file Tracker.hh.

template<class StorageType, class CalculationType>
FilterNToN<StorageType, CalculationType>* BIAS::Tracker< StorageType, CalculationType >::lowpass_
protected

the lowpass filter

Definition at line 378 of file Tracker.hh.

template<class StorageType, class CalculationType>
FilterMask BIAS::Tracker< StorageType, CalculationType >::LowpassFM_
protected

Definition at line 413 of file Tracker.hh.

template<class StorageType, class CalculationType>
Vector<KLT_TYPE> BIAS::Tracker< StorageType, CalculationType >::MaxError_
protected

Definition at line 382 of file Tracker.hh.

template<class StorageType, class CalculationType>
Vector<int> BIAS::Tracker< StorageType, CalculationType >::MaxIter_
protected

the parameter

Definition at line 381 of file Tracker.hh.

template<class StorageType, class CalculationType>
Vector<KLT_TYPE> BIAS::Tracker< StorageType, CalculationType >::MaxResiduumMAD_
protected

Definition at line 383 of file Tracker.hh.

template<class StorageType, class CalculationType>
std::vector<std::vector<int> > BIAS::Tracker< StorageType, CalculationType >::NumIter_
protected

number of iterations used

Definition at line 399 of file Tracker.hh.

template<class StorageType, class CalculationType>
std::vector<HomgPoint2D> BIAS::Tracker< StorageType, CalculationType >::p2tracked_
protected

temporary data

Definition at line 391 of file Tracker.hh.

template<class StorageType, class CalculationType>
std::vector<std::vector<HomgPoint2D> > BIAS::Tracker< StorageType, CalculationType >::Points_
protected

the point position in the actual image

Definition at line 397 of file Tracker.hh.

template<class StorageType, class CalculationType>
std::vector<std::vector<HomgPoint2D> > BIAS::Tracker< StorageType, CalculationType >::PredictedPoints_
protected

the prediction for every pyramid image

Definition at line 395 of file Tracker.hh.

template<class StorageType, class CalculationType>
int BIAS::Tracker< StorageType, CalculationType >::PyIndex_
protected

Definition at line 385 of file Tracker.hh.

template<class StorageType, class CalculationType>
std::vector<std::vector<int> > BIAS::Tracker< StorageType, CalculationType >::res_
protected

result code for every point

Definition at line 393 of file Tracker.hh.

template<class StorageType, class CalculationType>
std::vector<std::vector<double> > BIAS::Tracker< StorageType, CalculationType >::ResiduiMAD_
protected

mean absolute grey level difference (MAD) in tracking window

Definition at line 403 of file Tracker.hh.

template<class StorageType, class CalculationType>
std::vector<std::vector<double> > BIAS::Tracker< StorageType, CalculationType >::ResiduiMSD_
protected

mean squared grey level difference (MSD) in tracking window

Definition at line 405 of file Tracker.hh.

template<class StorageType, class CalculationType>
TrackerBaseInterface<CalculationType>* BIAS::Tracker< StorageType, CalculationType >::tb_
protected

the base tracker

Definition at line 372 of file Tracker.hh.

template<class StorageType, class CalculationType>
bool BIAS::Tracker< StorageType, CalculationType >::UseCoarserPointIfLost_
protected

set if you want to keep track of points regardless of trackability in highest resolution

Definition at line 388 of file Tracker.hh.

template<class StorageType, class CalculationType>
std::vector< BIAS::Matrix<KLT_TYPE> > BIAS::Tracker< StorageType, CalculationType >::WeightMatrices_
protected

Definition at line 415 of file Tracker.hh.


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