]> rtime.felk.cvut.cz Git - hercules2020/kcf.git/blob - graphGen.sh
55c4fd4fb9d6f06ab536cdfe9b0f2ed09bff9d2a
[hercules2020/kcf.git] / graphGen.sh
1 #!/usr/bin/bash
2
3 USE_FPS=0
4
5 mkdir -p plot-data
6 cd plot-data
7
8 while getopts ":f" opt
9 do
10     case $opt in
11         f)
12             USE_FPS=1
13             break
14             ;;
15         \?)
16             echo "Invalid option -$OPTARG" >&2
17             exit 1
18             ;;
19     esac
20 done
21
22 shift $((OPTIND-1))
23
24 for log in "$@"
25 do
26     tracker_version=${log#*-}
27     tracker_version=${tracker_version%/*}
28
29     dataset=${log#*/}
30     dataset=${dataset#*-}
31     dataset=${dataset%-*}
32
33     mkdir -p "$dataset"
34
35     cd "$dataset"
36
37     arguments=${log%.*}
38     arguments=${arguments#*/*-*-}
39
40     mkdir -p "$arguments"
41
42     cd "$arguments"
43
44     data_file="$tracker_version".dat
45     touch "$data_file"
46
47     echo "${tracker_version^}" >> "$data_file"
48
49     while IFS= read -r line 
50     do
51         #Skip last line
52         if [[ $line != *"->"* ]]; then
53            continue
54         fi
55         time=${line%,*,*}
56         time=${time//[!.0-9]/}
57         if [ "$USE_FPS" -eq "1" ]; then
58             time=$(bc <<< "scale=3;(1/$time)*1000;")
59         fi
60         echo "$time" >> "$data_file"
61     done < "../../../${log}"
62
63     cd ../../
64 done
65
66 for directory in *
67 do
68     cd "$directory"
69     for subdirectory in *
70     do
71         cd "$subdirectory"
72         paste *.dat > all
73         gnuplot -persist << EOFMarker
74         file = 'all'
75         header = system('head -1 '.file)
76         N = words(header)
77
78         set title "${directory^}-${subdirectory}"
79
80         if ($USE_FPS == 1) {
81            set ylabel "FPS"
82         } else {
83           set ylabel "Time [ms]"
84         }
85         set xtics rotate
86         set xtics ('' 1)
87         set for [i=1:N] xtics add (word(header, i) i)
88
89         set style data boxplot
90         set style boxplot nooutliers
91         unset key
92         plot for [i=1:N] file using (i):i
93 EOFMarker
94         cd ..
95     done
96     cd ..
97 done
98
99 cd ..
100 rm -r plot-data