KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Enumerations | Functions
kjb::mcmcda Namespace Reference

Classes

struct  Compare_tracks
 Functor to compare two tracks. If this were not defined, an association would order its tracks using operator<(pair, pair), which would eventually order by the address of the detection. We use this one to avoid this comparison by address and instead use a value comparison. This way the order will not change every time we read an association. More...
 
class  Association
 A class that represents a MCMCDA association. More...
 
class  Data
 A class that holds data for the tracking problem. More...
 
class  Association_directory
 Later. More...
 
class  Experiment_directory
 Later. More...
 
class  Gibbs_proposer
 Gibbs proposal mechanism for tracking. Complies with Gibbs proposer concept. More...
 
class  Likelihood
 Computes the GP-based likelihood of an association. More...
 
class  Prior
 Computes the prior of an MCMCDA association. More...
 
class  Proposer
 
class  Generic_track
 A class that represents a generic MCMCDA track. More...
 

Enumerations

enum  Move : size_t {
  MCMCDA_BIRTH, MCMCDA_DEATH, MCMCDA_EXTENSION, MCMCDA_REDUCTION,
  MCMCDA_SWITCH, MCMCDA_SECRETION, MCMCDA_ABSORPTION, MCMCDA_NUM_MOVES
}
 

Functions

template<class Track >
void get_association_totals (const Association< Track > &w, size_t &m, size_t &e, size_t &d, size_t &a, size_t &n, size_t &l)
 Get total tracks, entrances, exits, true detections, noisy detections, and track lengths of a given association. More...
 
template<class Element >
bool is_neighbor (const Element &y, const Element &y_p, int d, int d_bar, double v_bar, double sg, const typename Data< Element >::Convert &to_vector)
 Returns true if given point is a neighbor of second given point. More...
 
template<class Track >
size_t get_association_dimension (const Association< Track > &w)
 Returns the dimension of an association. More...
 
template<class Track >
std::pair< std::vector< Track >
, std::vector< size_t > > 
sample (const Prior< Track > &prior, size_t T, const Track &def)
 Sample an association from the prior. More...
 
template<class Track >
std::pair< std::vector< Track >
, std::vector< size_t > > 
sample (const Prior< Track > &prior, size_t T)
 Sample an association from the prior. More...
 
template<class Element >
void swap_tracks (Generic_track< Element > &track1, Generic_track< Element > &track2, int t1, int tp1, int t2, int tq1)
 Mergest two tracks. More...
 
template<class E >
bool operator== (const Generic_track< E > &t1, const Generic_track< E > &t2)
 Compare two generic tracks. More...
 
template<class E >
bool operator!= (const Generic_track< E > &t1, const Generic_track< E > &t2)
 Compare two generic tracks. More...
 
template<class Element >
bool operator< (const Generic_track< Element > &t1, const Generic_track< Element > &t2)
 Compare two generic tracks. More...
 

Enumeration Type Documentation

enum kjb::mcmcda::Move : size_t
Enumerator
MCMCDA_BIRTH 
MCMCDA_DEATH 
MCMCDA_EXTENSION 
MCMCDA_REDUCTION 
MCMCDA_SWITCH 
MCMCDA_SECRETION 
MCMCDA_ABSORPTION 
MCMCDA_NUM_MOVES 

Function Documentation

template<class Track >
size_t kjb::mcmcda::get_association_dimension ( const Association< Track > &  w)
inline

Returns the dimension of an association.

template<class Track >
void kjb::mcmcda::get_association_totals ( const Association< Track > &  w,
size_t &  m,
size_t &  e,
size_t &  d,
size_t &  a,
size_t &  n,
size_t &  l 
)

Get total tracks, entrances, exits, true detections, noisy detections, and track lengths of a given association.

template<class Element >
bool kjb::mcmcda::is_neighbor ( const Element &  y,
const Element &  y_p,
int  d,
int  d_bar,
double  v_bar,
double  sg,
const typename Data< Element >::Convert &  to_vector 
)
inline

Returns true if given point is a neighbor of second given point.

template<class E >
bool kjb::mcmcda::operator!= ( const Generic_track< E > &  t1,
const Generic_track< E > &  t2 
)
inline

Compare two generic tracks.

template<class Element >
bool kjb::mcmcda::operator< ( const Generic_track< Element > &  t1,
const Generic_track< Element > &  t2 
)
inline

Compare two generic tracks.

template<class E >
bool kjb::mcmcda::operator== ( const Generic_track< E > &  t1,
const Generic_track< E > &  t2 
)
inline

Compare two generic tracks.

template<class Track >
std::pair<std::vector<Track>, std::vector<size_t> > kjb::mcmcda::sample ( const Prior< Track > &  prior,
size_t  T,
const Track &  def 
)

Sample an association from the prior.

Parameters
priorThe prior from which to sample.
TLength of the video.
defA dummy track. Needed in case track has no default constructor.
Returns
A vector of tracks a vector specifying the number of false alarms in each frame. This function cannot return an object of type Association<Track>, since it has no access to the data.
template<class Track >
std::pair<std::vector<Track>, std::vector<size_t> > kjb::mcmcda::sample ( const Prior< Track > &  prior,
size_t  T 
)
inline

Sample an association from the prior.

Parameters
priorThe prior from which to sample.
TLength of the video.
Returns
An association and a vector specifying the number of false alarms in each frame.
template<class Element >
void kjb::mcmcda::swap_tracks ( Generic_track< Element > &  track1,
Generic_track< Element > &  track2,
int  t1,
int  tp1,
int  t2,
int  tq1 
)

Mergest two tracks.

Swaps two tracks from a certain time