X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=tracker.h;h=1c851e01ad8c332276cc3dfbb75287919cd981a3;hb=47873546df7b75c49b3973c9b0def619b7bcec46;hp=2ca731ad0199eab007397eee1a8215eb0e6a4761;hpb=fda29b3422f4850d77e4b8f4916251509789d3ac;p=mtp.git diff --git a/tracker.h b/tracker.h index 2ca731a..1c851e0 100644 --- a/tracker.h +++ b/tracker.h @@ -33,26 +33,31 @@ class Tracker { int *_entrances, *_exits; MTPGraph *_graph; - int *_edge_occupation; scalar_t *_edge_lengths; public: + scalar_t **detection_score; + int **allowed_motion; + int *entrances, *exits; + Tracker(int nb_time_steps, int nb_locations); ~Tracker(); - void set_allowed_motion(int from_location, int to_location, int v); - void set_as_entrance(int location, int v); - void set_as_exit(int location, int v); + // Build or print the graph needed for the tracking per se void build_graph(); - void print_dot_graph(ostream *os); + void print_graph_dot(ostream *os); - void set_detection_score(int time, int location, scalar_t score); + // Compute the optimal set of trajectories void track(); + // 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