-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrun_script.sh
executable file
·81 lines (71 loc) · 2.57 KB
/
run_script.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/bin/bash
if [ $# -lt 2 ]; then
echo "Usage: $0 <dataset_name> <[0] for ORB-SLAM3, [1] for FastTrack> <save_stream>"
exit 1
fi
dataset_name=$1
if [ "$2" -eq 1 ]; then
orbExtractionRunstatus=1
stereoMatchRunstatus=1
searchLocalPointsRunstatus=1
poseEstimationRunstatus=1
poseOptimizationRunstatus=0
version='FastTrack'
fi
if [ "$2" -eq 0 ]; then
orbExtractionRunstatus=0
stereoMatchRunstatus=0
searchLocalPointsRunstatus=0
poseEstimationRunstatus=0
poseOptimizationRunstatus=1
version='ORB-SLAM3'
fi
if [ $# -ge 3 ]; then
save_ostream=$3
else
save_ostream=0
fi
tumvi_datasets=("corridor1" "corridor2" "corridor3" "corridor4" "corridor5" "outdoors1" "outdoors5" "room1" "room2" "room3" "room4" "room5" "room6" "magistrale2" "magistrale6")
euroc_datasets=("MH01" "MH03" "MH02" "MH04" "MH05" "V101" "V102" "V103" "V201" "V202" "V203")
found_in_tumvi=false
for dataset in "${tumvi_datasets[@]}"; do
if [[ "$dataset" == "$dataset_name" ]]; then
found_in_tumvi=true
break
fi
done
found_in_euroc=false
for dataset in "${euroc_datasets[@]}"; do
if [[ "$dataset" == "$dataset_name" ]]; then
found_in_euroc=true
break
fi
done
if [ "$save_ostream" -eq 0 ]; then
if $found_in_euroc; then
cd Examples/
./euroc_eval_examples.sh "$orbExtractionRunstatus" "$stereoMatchRunstatus" "$searchLocalPointsRunstatus" "$poseEstimationRunstatus" "$poseOptimizationRunstatus" "$dataset_name" "$version"
elif $found_in_tumvi; then
cd Examples/
./tum_vi_eval_examples.sh "$orbExtractionRunstatus" "$stereoMatchRunstatus" "$searchLocalPointsRunstatus" "$poseEstimationRunstatus" "$poseOptimizationRunstatus" "$dataset_name" "$version"
else
echo "Invalid dataset: $dataset_name"
exit 1
fi
else
statsDir="Results/${version}/${dataset_name}"
if [ ! -d "$statsDir" ]; then
echo $statsDir
mkdir -p "$statsDir"
fi
if $found_in_euroc; then
cd Examples/
./euroc_eval_examples.sh "$orbExtractionRunstatus" "$stereoMatchRunstatus" "$searchLocalPointsRunstatus" "$poseEstimationRunstatus" "$poseOptimizationRunstatus" "$dataset_name" "$version" > "../${statsDir}/ostream.txt"
elif $found_in_tumvi; then
cd Examples/
./tum_vi_eval_examples.sh "$orbExtractionRunstatus" "$stereoMatchRunstatus" "$searchLocalPointsRunstatus" "$poseEstimationRunstatus" "$poseOptimizationRunstatus" "$dataset_name" "$version" > "../${statsDir}/ostream.txt"
else
echo "Invalid dataset: $dataset_name"
exit 1
fi
fi