X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=tracker.h;h=b56ac61898465358c30c1b3ab3f4f77e17c22ee6;hb=b55dae20c1b56dac452dda6ab2831ea6388c079b;hp=de6ac42762ca457131d10152686e0da2570ca59a;hpb=535b8ede7d6646ea17135da10c8a16416524f6e9;p=mtp.git diff --git a/tracker.h b/tracker.h index de6ac42..b56ac61 100644 --- a/tracker.h +++ b/tracker.h @@ -34,14 +34,29 @@ class Tracker { MTPGraph *_graph; scalar_t *_edge_lengths; + + int early_pair_node(int t, int l); + int late_pair_node(int t, int l); + public: - scalar_t **detection_score; + + // The spatial structure int **allowed_motion; int *entrances, *exits; - Tracker(int nb_time_steps, int nb_locations); + // The detection scores at each node + scalar_t **detection_scores; + + Tracker(); ~Tracker(); + void allocate(int nb_time_steps, int nb_locations); + void free(); + + void write(ostream *os); + void read(istream *is); + void write_trajectories(ostream *os); + // Build or print the graph needed for the tracking per se void build_graph(); @@ -54,9 +69,10 @@ public: // Read-out of the optimal trajectories int nb_trajectories(); + scalar_t trajectory_score(int k); int trajectory_entrance_time(int k); int trajectory_duration(int k); - int trajectory_location(int k, int time); + int trajectory_location(int k, int time_from_entry); }; #endif