-#!/usr/bin/bash
+#!/usr/bin/env bash
USE_FPS=0
-mkdir -p plot-data
-cd plot-data
-
while getopts ":f" opt
do
case $opt in
for log in "$@"
do
- tracker_version=${log#*-}
- tracker_version=${tracker_version%/*}
-
- dataset=${log#*/}
- dataset=${dataset#*-}
- dataset=${dataset%-*}
-
- mkdir -p "$dataset"
-
- cd "$dataset"
-
- arguments=${log%.*}
- arguments=${arguments#*/*-*-}
-
- mkdir -p "$arguments"
-
- cd "$arguments"
- data_file="$tracker_version".dat
- touch "$data_file"
+ [[ "$log" =~ build-(.*)/kcf_vot-(.*)-(.*).log ]]
+ tracker_version=${BASH_REMATCH[1]}
+ arguments=${BASH_REMATCH[3]}
+ dataset=${BASH_REMATCH[2]}
- echo "${tracker_version^}" >> "$data_file"
+ data_file=${log%.log}.dat
- while IFS= read -r line
- do
- #Skip last line
- if [[ $line != *"->"* ]]; then
- continue
- fi
- time=${line%,*,*}
- time=${time//[!.0-9]/}
- if [ "$USE_FPS" -eq "1" ]; then
- time=$(bc <<< "scale=3;(1/$time)*1000;")
- fi
- echo "$time" >> "$data_file"
- done < "../../../${log}"
+ (echo ${tracker_version}-${arguments}-${dataset}; grep -o '[0-9.]*ms' $log ) > $data_file
- cd ../../
done
-for directory in *
-do
- cd "$directory"
- for subdirectory in *
- do
- cd "$subdirectory"
- paste *.dat > all
- gnuplot -persist << EOFMarker
+paste ${@//.log/.dat} > all
+
+gnuplot -persist << EOFMarker
file = 'all'
header = system('head -1 '.file)
N = words(header)
- set title "${directory^}-${subdirectory}"
-
if ($USE_FPS == 1) {
set ylabel "FPS"
} else {
set style data boxplot
set style boxplot nooutliers
unset key
- plot for [i=1:N] file using (i):i
+ if ($USE_FPS == 1) {
+ plot for [i=1:N] file using (i):(1000/column(i))
+ } else {
+ plot for [i=1:N] file using (i):i
+ }
EOFMarker
- cd ..
- done
- cd ..
-done
-cd ..
-rm -r plot-data
+rm all