from os import listdir
from sys import argv, exit
import numpy as np
+import scipy.stats as ss
# ed - euclidean distance
# rs - reeds and shepp path length
plt.show()
#plt.savefig("WHATEVER")
+def mean_conf_int(data, conf=0.95):
+ """Return (mean, lower, uppper) of data.
+
+ see https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data
+
+ Keyword arguments:
+ data -- A list of data.
+ conf -- Confidence interval.
+ """
+ a = np.array(data)
+ n = len(a)
+ m = np.mean(a)
+ se = ss.sem(a)
+ h = se * ss.t.ppf((1 + conf) / 2, n - 1)
+ return (m, m - h, m + h)
+
def count_if_exist(trajectories, what):
"""From multiple trajectories compute the number of occurences.
print("{}: {}".format(a["f"], v[a["f"]]))
if __name__ == "__main__":
- plt.rcParams["font.size"] = 29
- res = []
- for d in listdir("testlog"):
- LOGF="testlog/{}".format(d)
- r = {}
- for sf in [i["f"] for i in LOG]:
- r[sf] = load_trajectories("{}/{}".format(LOGF, sf))
- res.append({
- "f": d,
- "elap": get_val_if_exist(r["T2"], "elap"),
- "rrte": get_val_if_exist(r["T2"], "rrte"),
- "ppse": get_val_if_exist(r["T2"], "ppse"),
- })
+ r = {}
+ for sf in [i["f"] for i in LOG]:
+ r[sf] = load_trajectories("{}/{}".format(LOGF, sf))
+ print_successrate()
+ plot_maxtime()
+ plot_costdist()