KJB
|
#include <mcmcda_proposer.h>
Public Member Functions | |
Proposer (const Categorical_distribution< size_t > &move_distribution, double v_bar, int d_bar, int b_bar, double gamma, const typename Data< Element >::Convert &convert_to_vector, const Avg &avg, double detection_noise_variance, const Track &empty_track) | |
Proposer (const Categorical_distribution< size_t > &move_distribution, double v_bar, int d_bar, int b_bar, double gamma, const typename Data< Element >::Convert &convert_to_vector, const Avg &avg, const Feature_prob &feature_prob, double detection_noise_variance, const Track &empty_track) | |
ergo::mh_proposal_result | operator() (const Assoc &w, Assoc &w_p) const |
double | v_bar () const |
Return maximum velocity of targets. More... | |
int | d_bar () const |
Return maximum number of missed frames. More... | |
double | gamma () const |
Return probability of stopping a growing track. More... | |
size_t | sample_move (const Assoc &w) const |
Sample a move type. More... | |
double | move_log_pdf (Move m, const Assoc &w) const |
Compute the log pdf of a move type. More... | |
double | propose_birth (const Assoc &w, Assoc &w_p) const |
Propose birth. More... | |
double | propose_death (const Assoc &w, Assoc &w_p) const |
Propose death. More... | |
double | propose_split (const Assoc &w, Assoc &w_p) const |
Propose split. More... | |
double | propose_merge (const Assoc &w, Assoc &w_p) const |
Propose merge. More... | |
double | propose_extension (const Assoc &w, Assoc &w_p) const |
Propose exteision. More... | |
double | propose_reduction (const Assoc &w, Assoc &w_p) const |
Propose reduction. More... | |
double | propose_switch (const Assoc &w, Assoc &w_p) const |
Propose switch. More... | |
double | propose_secretion (const Assoc &w, Assoc &w_p) const |
Propose secretion. More... | |
double | propose_absorption (const Assoc &w, Assoc &w_p) const |
Propose absorption. More... | |
double | p_birth (const Assoc &w, const Assoc &w_p) const |
Probability of birth. More... | |
double | p_death (const Assoc &w, const Assoc &w_p) const |
Probability of death. More... | |
double | p_split (const Assoc &w, const Assoc &w_p) const |
Probability of split. More... | |
double | p_merge (const Assoc &w, const Assoc &w_p) const |
Probability of merge. More... | |
double | p_extension (const Assoc &w, const Assoc &w_p) const |
Probability of extension. More... | |
double | p_reduction (const Assoc &w, const Assoc &w_p) const |
Probability of reduction. More... | |
double | p_switch (const Assoc &w, const Assoc &w_p) const |
Probability of switch. More... | |
double | p_secretion (const Assoc &w, const Assoc &w_p) const |
Probability of secretion. More... | |
double | p_absorption (const Assoc &w, const Assoc &w_p) const |
Probability of absorption. More... | |
void | grow_track_forward (Track &track, const Assoc &w) const |
Grows a track forward according to MCMCDA. More... | |
void | grow_track_backward (Track &track, const Assoc &w) const |
Grows a track backward according to MCMCDA. More... | |
double | p_grow_track_forward (const Track &track, const Assoc &w, int t) const |
Probability of growing a track forward to what it is. More... | |
double | p_grow_track_backward (const Track &track, const Assoc &w, int t) const |
Probability of growing a track backward to what it is. More... | |
double | p_choose_nothing (const Probability_map &probs) const |
Probability of not choosing any detections. More... | |
void | make_p_move (const Categorical_distribution< size_t > &move_distribution) |
Creates move distribution. More... | |
Probability_map | get_growing_probabilities (const Track &track, int t, std::set< const Element * > &candidates, const Vector &x, const Vector &vel, int d) const |
Helper function that gives probabilities of growth candidates. More... | |
double | get_velocity_noise_score (int d, const Vector &vel) const |
Helper function that gives score of a noise thingy. More... | |
std::pair< Vector, Vector > | track_future (const Track &track, int t=-1) const |
Estimate the velocity of the detections going forward. More... | |
std::pair< Vector, Vector > | track_past (const Track &track, int t=-1) const |
Estimate the velocity of the detections going backward. More... | |
std::pair< Vector, Vector > | track_future_ls (const Track &track, int t=-1) const |
Estimate the velocity of the detections going forward. More... | |
std::pair< Vector, Vector > | track_past_ls (const Track &track, int t=-1) const |
Estimate the velocity of the detections going backward. More... | |
std::pair< Vector, Vector > | track_future_tls (const Track &track, int t=-1) const |
Estimate the velocity of the detections going forward. More... | |
std::pair< Vector, Vector > | track_past_tls (const Track &track, int t=-1) const |
Estimate the velocity of the detections going backward. More... | |
brief MCMCDA proposer class. Chooses move and applies it.
|
inline |
|
inline |
|
inline |
Return maximum number of missed frames.
|
inline |
Return probability of stopping a growing track.
Proposer< Track >::Probability_map kjb::mcmcda::Proposer< Track >::get_growing_probabilities | ( | const Track & | track, |
int | t, | ||
std::set< const Element * > & | candidates, | ||
const Vector & | x, | ||
const Vector & | vel, | ||
int | d | ||
) | const |
Helper function that gives probabilities of growth candidates.
|
inline |
Helper function that gives score of a noise thingy.
void kjb::mcmcda::Proposer< Track >::grow_track_backward | ( | Track & | track, |
const Assoc & | w | ||
) | const |
Grows a track backward according to MCMCDA.
void kjb::mcmcda::Proposer< Track >::grow_track_forward | ( | Track & | track, |
const Assoc & | w | ||
) | const |
Grows a track forward according to MCMCDA.
|
inline |
Creates move distribution.
|
inline |
Compute the log pdf of a move type.
ergo::mh_proposal_result kjb::mcmcda::Proposer< Track >::operator() | ( | const Assoc & | w, |
Assoc & | w_p | ||
) | const |
double kjb::mcmcda::Proposer< Track >::p_absorption | ( | const Assoc & | w, |
const Assoc & | w_p | ||
) | const |
Probability of absorption.
double kjb::mcmcda::Proposer< Track >::p_birth | ( | const Assoc & | w, |
const Assoc & | w_p | ||
) | const |
Probability of birth.
double kjb::mcmcda::Proposer< Track >::p_choose_nothing | ( | const Probability_map & | probs | ) | const |
Probability of not choosing any detections.
double kjb::mcmcda::Proposer< Track >::p_death | ( | const Assoc & | w, |
const Assoc & | w_p | ||
) | const |
Probability of death.
double kjb::mcmcda::Proposer< Track >::p_extension | ( | const Assoc & | w, |
const Assoc & | w_p | ||
) | const |
Probability of extension.
double kjb::mcmcda::Proposer< Track >::p_grow_track_backward | ( | const Track & | track, |
const Assoc & | w, | ||
int | t | ||
) | const |
Probability of growing a track backward to what it is.
double kjb::mcmcda::Proposer< Track >::p_grow_track_forward | ( | const Track & | track, |
const Assoc & | w, | ||
int | t | ||
) | const |
Probability of growing a track forward to what it is.
double kjb::mcmcda::Proposer< Track >::p_merge | ( | const Assoc & | w, |
const Assoc & | w_p | ||
) | const |
Probability of merge.
double kjb::mcmcda::Proposer< Track >::p_reduction | ( | const Assoc & | w, |
const Assoc & | w_p | ||
) | const |
Probability of reduction.
double kjb::mcmcda::Proposer< Track >::p_secretion | ( | const Assoc & | w, |
const Assoc & | w_p | ||
) | const |
Probability of secretion.
double kjb::mcmcda::Proposer< Track >::p_split | ( | const Assoc & | w, |
const Assoc & | w_p | ||
) | const |
Probability of split.
double kjb::mcmcda::Proposer< Track >::p_switch | ( | const Assoc & | w, |
const Assoc & | w_p | ||
) | const |
Probability of switch.
double kjb::mcmcda::Proposer< Track >::propose_absorption | ( | const Assoc & | w, |
Assoc & | w_p | ||
) | const |
Propose absorption.
double kjb::mcmcda::Proposer< Track >::propose_birth | ( | const Assoc & | w, |
Assoc & | w_p | ||
) | const |
Propose birth.
double kjb::mcmcda::Proposer< Track >::propose_death | ( | const Assoc & | w, |
Assoc & | w_p | ||
) | const |
Propose death.
double kjb::mcmcda::Proposer< Track >::propose_extension | ( | const Assoc & | w, |
Assoc & | w_p | ||
) | const |
Propose exteision.
double kjb::mcmcda::Proposer< Track >::propose_merge | ( | const Assoc & | w, |
Assoc & | w_p | ||
) | const |
Propose merge.
double kjb::mcmcda::Proposer< Track >::propose_reduction | ( | const Assoc & | w, |
Assoc & | w_p | ||
) | const |
Propose reduction.
double kjb::mcmcda::Proposer< Track >::propose_secretion | ( | const Assoc & | w, |
Assoc & | w_p | ||
) | const |
Propose secretion.
double kjb::mcmcda::Proposer< Track >::propose_split | ( | const Assoc & | w, |
Assoc & | w_p | ||
) | const |
Propose split.
double kjb::mcmcda::Proposer< Track >::propose_switch | ( | const Assoc & | w, |
Assoc & | w_p | ||
) | const |
Propose switch.
|
inline |
Sample a move type.
std::pair< Vector, Vector > kjb::mcmcda::Proposer< Track >::track_future | ( | const Track & | track, |
int | t = -1 |
||
) | const |
Estimate the velocity of the detections going forward.
std::pair< Vector, Vector > kjb::mcmcda::Proposer< Track >::track_future_ls | ( | const Track & | track, |
int | t = -1 |
||
) | const |
Estimate the velocity of the detections going forward.
std::pair< Vector, Vector > kjb::mcmcda::Proposer< Track >::track_future_tls | ( | const Track & | track, |
int | t = -1 |
||
) | const |
Estimate the velocity of the detections going forward.
std::pair< Vector, Vector > kjb::mcmcda::Proposer< Track >::track_past | ( | const Track & | track, |
int | t = -1 |
||
) | const |
Estimate the velocity of the detections going backward.
std::pair< Vector, Vector > kjb::mcmcda::Proposer< Track >::track_past_ls | ( | const Track & | track, |
int | t = -1 |
||
) | const |
Estimate the velocity of the detections going backward.
std::pair< Vector, Vector > kjb::mcmcda::Proposer< Track >::track_past_tls | ( | const Track & | track, |
int | t = -1 |
||
) | const |
Estimate the velocity of the detections going backward.
|
inline |
Return maximum velocity of targets.