Cleaned up the ambiguous synthetic example.
[mtp.git] / tracker.h
index 9d3e018..40e21ab 100644 (file)
--- a/tracker.h
+++ b/tracker.h
@@ -33,27 +33,25 @@ class Tracker {
   int *_entrances, *_exits;
 
   MTPGraph *_graph;
-  int *_edge_occupation;
   scalar_t *_edge_lengths;
+
+  int early_pair_node(int t, int l);
+  int late_pair_node(int t, int l);
+
 public:
-  Tracker(int nb_time_steps, int nb_locations);
-  ~Tracker();
 
-  // Define the spatial topology
+  scalar_t **detection_score;
+  int **allowed_motion;
+  int *entrances, *exits;
 
-  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);
+  Tracker(int nb_time_steps, int nb_locations);
+  ~Tracker();
 
   // Build or print the graph needed for the tracking per se
 
   void build_graph();
   void print_graph_dot(ostream *os);
 
-  // Define the detection scores
-
-  void set_detection_score(int time, int location, scalar_t score);
-
   // Compute the optimal set of trajectories
 
   void track();
@@ -61,9 +59,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