def calc_final_error(dt): tStartTracker = tracker_times.min() - owl_times.min() - dt if args.item == "cloth": used_leds = [i for pair in led_pairs for i in pair] led2ind = {} for (ind, led) in enumerate(used_leds): led2ind[led] = ind ind_pairs = [(led2ind[led0], led2ind[led1]) for (led0, led1) in led_pairs] marker2info = ev.calculate_cloth_tracking_score1( tracker_arr, tracker_times - tStartTracker, tracker_triangles, owl_arr[:, used_leds, :], owl_times, ind_pairs) elif args.item == "rope": used_leds = rope_leds marker2info = ev.calculate_rope_tracking_score( tracker_arr, tracker_times - tStartTracker, owl_arr[:, used_leds, :], owl_times, used_leds) errors = [] for info in marker2info: err_q = ev.norms(info["position_relative"], 1) errors.extend(err_q.tolist()) final_error = np.median(errors) print dt, final_error return final_error
def calc_final_error(dt): tStartTracker = tracker_times.min() - owl_times.min() - dt if args.item == "cloth": used_leds = [i for pair in led_pairs for i in pair] led2ind = {} for (ind,led) in enumerate(used_leds): led2ind[led] = ind ind_pairs = [(led2ind[led0], led2ind[led1]) for (led0, led1) in led_pairs] marker2info = ev.calculate_cloth_tracking_score1(tracker_arr, tracker_times-tStartTracker, tracker_triangles, owl_arr[:,used_leds,:], owl_times, ind_pairs) elif args.item == "rope": used_leds = rope_leds marker2info = ev.calculate_rope_tracking_score(tracker_arr, tracker_times-tStartTracker, owl_arr[:,used_leds,:], owl_times, used_leds) errors = [] for info in marker2info: err_q = ev.norms(info["position_relative"],1) errors.extend(err_q.tolist()) final_error = np.median(errors) print dt, final_error return final_error
if args.item == "cloth": used_leds = [i for pair in led_pairs for i in pair] led2ind = {} for (ind, led) in enumerate(used_leds): led2ind[led] = ind ind_pairs = [(led2ind[led0], led2ind[led1]) for (led0, led1) in led_pairs] marker2info = ev.calculate_cloth_tracking_score1(tracker_arr, tracker_times, tracker_triangles, owl_arr[:, used_leds, :], owl_times, ind_pairs) elif args.item == "rope": used_leds = rope_leds marker2info = ev.calculate_rope_tracking_score(tracker_arr, tracker_times, owl_arr[:, used_leds, :], owl_times, used_leds) if 1: errors = [] median_errors = [] for info in marker2info: err_q = ev.norms(info["position_relative"], 1) errors.extend(err_q.tolist()) median_errors.append(np.median(err_q)) import scipy.stats as ss per_errors = [] for per in xrange(0, 101, 10): per_errors.append(ss.scoreatpercentile(errors, per)) print per, ss.scoreatpercentile(errors, per)
tracker_arr, tracker_times, tracker_triangles, owl_arr, owl_times = bag_data #assert abs(tracker_times.max() - owl_times.max()) < 1 tracker_times -= (tracker_times.min() - owl_times.min()-2) if args.item == "cloth": used_leds = [i for pair in led_pairs for i in pair] led2ind = {} for (ind,led) in enumerate(used_leds): led2ind[led] = ind ind_pairs = [(led2ind[led0], led2ind[led1]) for (led0, led1) in led_pairs] marker2info = ev.calculate_cloth_tracking_score1(tracker_arr, tracker_times, tracker_triangles, owl_arr[:,used_leds,:], owl_times, ind_pairs) elif args.item == "rope": used_leds = rope_leds marker2info = ev.calculate_rope_tracking_score(tracker_arr, tracker_times, owl_arr[:,used_leds,:], owl_times, used_leds) if 1: errors = [] median_errors = [] for info in marker2info: err_q = ev.norms(info["position_relative"],1) errors.extend(err_q.tolist()) median_errors.append(np.median(err_q)) import scipy.stats as ss per_errors = [] for per in xrange(0,101,10): per_errors.append(ss.scoreatpercentile(errors, per)) print per, ss.scoreatpercentile(errors, per)