X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=tracker.cc;h=37fbfe2fc0d3a5fba24482b0623d0e18aeb42007;hb=72a428f6024a6a3f84526020f28cfa3a200d0f24;hp=47460d371315a3dee43605853df00cf49ff69cd5;hpb=598184c893e63ddd5b473aee104a9c2d1af07830;p=mtp.git diff --git a/tracker.cc b/tracker.cc index 47460d3..37fbfe2 100644 --- a/tracker.cc +++ b/tracker.cc @@ -68,7 +68,6 @@ void Tracker::set_detection_score(int time, int location, scalar_t score) { } void Tracker::build_graph() { - // Delete existing graph delete[] _edge_lengths; delete _graph; @@ -109,7 +108,6 @@ void Tracker::build_graph() { } // We put the other edges after - for(int l = 0; l < _nb_locations; l++) { node_from[e] = source; node_to[e] = 1 + l + 0 * _nb_locations; @@ -177,20 +175,26 @@ void Tracker::track() { _graph->find_best_paths(_edge_lengths); _graph->retrieve_disjoint_paths(); - // for(int p = 0; p < _graph->nb_paths; p++) { - // Path *path = _graph->paths[p]; - // cout << "PATH " << p << " [length " << path->length << "] " << path->nodes[0]; - // for(int n = 1; n < path->length; n++) { - // cout << " -> " << path->nodes[n]; - // } - // cout << endl; - // } +#ifdef VERBOSE + for(int p = 0; p < _graph->nb_paths; p++) { + Path *path = _graph->paths[p]; + cout << "PATH " << p << " [length " << path->length << "] " << path->nodes[0]; + for(int n = 1; n < path->length; n++) { + cout << " -> " << path->nodes[n]; + } + cout << endl; + } +#endif } int Tracker::nb_trajectories() { return _graph->nb_paths; } +int Tracker::trajectory_entrance_time(int k) { + return (_graph->paths[k]->nodes[1] - 1) / (2 * _nb_locations); +} + int Tracker::trajectory_duration(int k) { return (_graph->paths[k]->length - 2) / 2; }