- inline void del_edge(Edge *e) {
- if(e == first_edge) { first_edge = e->next; }
- if(e->pred) { e->pred->next = e->next; }
- if(e->next) { e->next->pred = e->pred; }
- }
-};
-
-class Graph {
-public:
- int nb_vertices;
- Edge *edge_heap;
- Vertex *vertices;
- Vertex *source, *sink;
-
- Graph(int nb_vertices, int nb_edges, int *from, int *to, scalar_t *lengths,
- int source, int sink);
- ~Graph();
-
- void initialize_work_lengths();
- void update_work_length();
- void find_shortest_path();
- void find_best_paths();
- void print();
- void print_occupied_edges();
-};
-
-void Graph::print() {
- for(int n = 0; n < nb_vertices; n++) {
- for(Edge *e = vertices[n].first_edge; e; e = e->next) {
- cout << n << " -> " << e->terminal_vertex->id << " " << e->length << endl;
- }
- }
+void print_help_formats() {
+ cout << "The tracking parameters the command takes as input have the following" << endl;
+ cout << "format, where L is the number of locations and T is the number of time" << endl;
+ cout << "steps:" << endl;
+ cout << endl;
+ cout << "---------------------------- snip snip -------------------------------" << endl;
+ cout << " int:L int:T" << endl;
+ cout << endl;
+ cout << " bool:allowed_motion_from_1_to_1 ... bool:allowed_motion_from_1_to_L" << endl;
+ cout << " ..." << endl;
+ cout << " bool:allowed_motion_from_L_to_1 ... bool:allowed_motion_from_L_to_L" << endl;
+ cout << endl;
+ cout << " bool:entrance_1_1 ... bool:entrance_1_L" << endl;
+ cout << " ..." << endl;
+ cout << " bool:entrance_T_1 ... bool:entrance_T_L" << endl;
+ cout << endl;
+ cout << " bool:exit_1_1 ... bool:exit_1_L" << endl;
+ cout << " ..." << endl;
+ cout << " bool:exit_T_1 ... bool:exit_T_L" << endl;
+ cout << endl;
+ cout << " float:detection_score_1_1 ... float:detection_score_1_L" << endl;
+ cout << " ..." << endl;
+ cout << " float:detection_score_T_1 ... float:detection_score_T_L" << endl;
+ cout << "---------------------------- snip snip -------------------------------" << endl;
+ cout << endl;
+ cout << "As results, the command writes first the number of trajectories," << endl;
+ cout << "followed by one line per trajectory with the following structure:" << endl;
+ cout << endl;
+ cout << "---------------------------- snip snip -------------------------------" << endl;
+ cout << " int:traj_number int:entrance_time int:duration float:score int:location_1 ... int:location_duration" << endl;
+ cout << "---------------------------- snip snip -------------------------------" << endl;