From: Francois Fleuret Date: Thu, 23 Aug 2012 15:19:30 +0000 (-0700) Subject: Cosmetics, adding comments. X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=commitdiff_plain;h=14eafbcbbc5cb10464f39596b34eebce0a6922ed;p=mtp.git Cosmetics, adding comments. --- diff --git a/tracker.cc b/tracker.cc index 0e6ed6a..ce4dfc2 100644 --- a/tracker.cc +++ b/tracker.cc @@ -82,11 +82,12 @@ void Tracker::set_detection_score(int time, int location, scalar_t score) { } void Tracker::build_graph() { - // Delete existing graph + // Delete existing graph if there was one delete[] _edge_lengths; delete _graph; int nb_motions = 0, nb_exits = 0, nb_entrances = 0; + for(int l = 0; l < _nb_locations; l++) { if(_exits[l]) nb_exits++; if(_entrances[l]) nb_entrances++; @@ -98,14 +99,22 @@ void Tracker::build_graph() { int nb_vertices = 2 + 2 * _nb_time_steps * _nb_locations; int nb_edges = + // The edges from the source to the first frame, and from the last + // frame to the sink _nb_locations * 2 + + // The edges from the source to the entrances and from the exists + // to the sink (in every time frames but the first and last) (_nb_time_steps - 2) * (nb_exits + nb_entrances) + + // The edges for the motions, between every pair of successive + // frames (_nb_time_steps - 1) * nb_motions + + // The edges inside the duplicated nodes _nb_locations * _nb_time_steps; - int source = 0, sink = nb_vertices - 1; int *node_from = new int[nb_edges]; int *node_to = new int[nb_edges]; + + int source = 0, sink = nb_vertices - 1; int e = 0; _edge_lengths = new scalar_t[nb_edges];