X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=tracker.h;h=88f4bf2cdfb3a790e976443a707c0e0adfef95c2;hb=924a2d8b5313d1bbe84515fc262db3c7e7d50355;hp=4143cf590c70ac0a25235f4de85e0b9a649a242b;hpb=455e5736828233445ac8aea8f15b3bde7e16e9bf;p=mtp.git diff --git a/tracker.h b/tracker.h index 4143cf5..88f4bf2 100644 --- a/tracker.h +++ b/tracker.h @@ -19,28 +19,41 @@ #ifndef TRACKER_H #define TRACKER_H +#include + +using namespace std; + #include "misc.h" #include "mtp_graph.h" class Tracker { int _nb_locations, _nb_time_steps; - MTPGraph *_graph; scalar_t **_detection_score; int **_allowed_motion; + int *_entrances, *_exits; + MTPGraph *_graph; + int *_edge_occupation; + scalar_t *_edge_lengths; public: Tracker(int nb_time_steps, int nb_locations); ~Tracker(); - void set_allowed_motion(int from_location, int to_location); + 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); + + void build_graph(); + void print_dot_graph(ostream *os); + void set_detection_score(int time, int location, scalar_t score); void track(); - // int nb_trajectories(); - // int trajectory_start_time(int k); - // int trajectory_end_time(int k); - // int trajectory_location(int k, int time); + int nb_trajectories(); + int trajectory_entrance_time(int k); + int trajectory_duration(int k); + int trajectory_location(int k, int time); }; #endif