MTPGraph *_graph;
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);
+
+ // The spatial structure
+ int **allowed_motion;
+ int *entrances, *exits;
+
+ // The detection scores at each node
+ scalar_t **detection_scores;
+
+ Tracker();
~Tracker();
- // Define the spatial topology
+ void allocate(int nb_time_steps, int nb_locations);
+ void free();
- 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 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();
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();
// 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