351 lines
9.6 KiB
Python
351 lines
9.6 KiB
Python
|
import os, sys
|
||
|
import seaborn
|
||
|
from pylab import rcParams
|
||
|
import cv2
|
||
|
|
||
|
import numpy as np
|
||
|
from numpy import linalg as LA
|
||
|
from time import time
|
||
|
from itertools import combinations
|
||
|
|
||
|
import matplotlib.pyplot as plt
|
||
|
from matplotlib.pyplot import *
|
||
|
import matplotlib.patches as mpatches
|
||
|
|
||
|
# activate latex text rendering
|
||
|
#rc('text', usetex=True)
|
||
|
|
||
|
def main(argv):
|
||
|
|
||
|
C12D2D = np.load("MeansC1D2D2.npy")
|
||
|
C12D3D = np.load("MeansC1D2D3.npy")
|
||
|
|
||
|
C22D2D = np.load("MeansC2D2D2.npy")
|
||
|
C22D3D = np.load("MeansC2D2D3.npy")
|
||
|
|
||
|
C32D2D = np.load("MeansC3D2D2.npy")
|
||
|
C32D3D = np.load("MeansC3D2D3.npy")
|
||
|
|
||
|
C42D2D = np.load("MeansC4D2D2.npy")
|
||
|
C42D3D = np.load("MeansC4D2D3.npy")
|
||
|
|
||
|
C52D2D = np.load("MeansC5D2D2.npy")
|
||
|
C52D3D = np.load("MeansC5D2D3.npy")
|
||
|
|
||
|
|
||
|
summeC12D2D = []
|
||
|
summeC22D2D = []
|
||
|
summeC32D2D = []
|
||
|
summeC42D2D = []
|
||
|
summeC52D2D = []
|
||
|
|
||
|
summeC12D3D = []
|
||
|
summeC22D3D = []
|
||
|
summeC32D3D = []
|
||
|
summeC42D3D = []
|
||
|
summeC52D3D = []
|
||
|
|
||
|
|
||
|
i = 0
|
||
|
while i < len(C12D2D):
|
||
|
j = 0
|
||
|
while j < len(C12D2D[0]):
|
||
|
summeC12D2D.append(C12D2D[i][j])
|
||
|
j += 1
|
||
|
i += 1
|
||
|
|
||
|
i = 0
|
||
|
while i < len(C22D2D):
|
||
|
j = 0
|
||
|
while j < len(C22D2D[0]):
|
||
|
summeC22D2D.append(C22D2D[i][j])
|
||
|
j += 1
|
||
|
i += 1
|
||
|
|
||
|
i = 0
|
||
|
while i < len(C32D2D):
|
||
|
j = 0
|
||
|
while j < len(C32D2D[0]):
|
||
|
summeC32D2D.append(C32D2D[i][j])
|
||
|
j += 1
|
||
|
i += 1
|
||
|
|
||
|
i = 0
|
||
|
while i < len(C42D2D):
|
||
|
j = 0
|
||
|
while j < len(C42D2D[0]):
|
||
|
summeC42D2D.append(C42D2D[i][j])
|
||
|
j += 1
|
||
|
i += 1
|
||
|
|
||
|
i = 0
|
||
|
while i < len(C52D2D):
|
||
|
j = 0
|
||
|
while j < len(C52D2D[0]):
|
||
|
summeC52D2D.append(C52D2D[i][j])
|
||
|
j += 1
|
||
|
i += 1
|
||
|
|
||
|
i = 0
|
||
|
while i < len(C12D3D):
|
||
|
j = 0
|
||
|
while j < len(C12D3D[0]):
|
||
|
summeC12D3D.append(C12D3D[i][j])
|
||
|
j += 1
|
||
|
i += 1
|
||
|
|
||
|
i = 0
|
||
|
while i < len(C22D3D):
|
||
|
j = 0
|
||
|
while j < len(C22D3D[0]):
|
||
|
summeC22D3D.append(C22D3D[i][j])
|
||
|
j += 1
|
||
|
i += 1
|
||
|
|
||
|
i = 0
|
||
|
while i < len(C32D3D):
|
||
|
j = 0
|
||
|
while j < len(C32D3D[0]):
|
||
|
summeC32D3D.append(C32D3D[i][j])
|
||
|
j += 1
|
||
|
i += 1
|
||
|
|
||
|
i = 0
|
||
|
while i < len(C42D3D):
|
||
|
j = 0
|
||
|
while j < len(C42D3D[0]):
|
||
|
summeC42D3D.append(C42D3D[i][j])
|
||
|
j += 1
|
||
|
i += 1
|
||
|
|
||
|
i = 0
|
||
|
while i < len(C52D3D):
|
||
|
j = 0
|
||
|
while j < len(C52D3D[0]):
|
||
|
summeC52D3D.append(C52D3D[i][j])
|
||
|
j += 1
|
||
|
i += 1
|
||
|
|
||
|
|
||
|
mean1 = np.mean(summeC12D2D)
|
||
|
mean2 = np.mean(summeC22D2D)
|
||
|
mean3 = np.mean(summeC32D2D)
|
||
|
mean4 = np.mean(summeC42D2D)
|
||
|
mean5 = np.mean(summeC52D2D)
|
||
|
|
||
|
mean6 = np.mean(summeC12D3D)
|
||
|
mean7 = np.mean(summeC22D3D)
|
||
|
mean8 = np.mean(summeC32D3D)
|
||
|
mean9 = np.mean(summeC42D3D)
|
||
|
mean10 = np.mean(summeC52D3D)
|
||
|
|
||
|
std1 = np.std(summeC12D2D)
|
||
|
std2 = np.std(summeC22D2D)
|
||
|
std3 = np.std(summeC32D2D)
|
||
|
std4 = np.std(summeC42D2D)
|
||
|
std5 = np.std(summeC52D2D)
|
||
|
|
||
|
std6 = np.std(summeC12D3D)
|
||
|
std7 = np.std(summeC22D3D)
|
||
|
std8 = np.std(summeC32D3D)
|
||
|
std9 = np.std(summeC42D3D)
|
||
|
std10 = np.std(summeC52D3D)
|
||
|
|
||
|
# i = 0
|
||
|
# while i < len(C12D2D):
|
||
|
# j = 0
|
||
|
# while j < len(C12D2D[0]):
|
||
|
# summeC12D2D.append(C12D2D[i][j])
|
||
|
# j += 1
|
||
|
# i += 1
|
||
|
|
||
|
|
||
|
# print summeC12D2D
|
||
|
|
||
|
# i = 0
|
||
|
# minimum2 = 100
|
||
|
# while i < len(C22D2D):
|
||
|
# print np.mean(C22D2D[i])
|
||
|
# if np.mean(C22D2D[i]) < minimum2:
|
||
|
# minimum2 = np.mean(C22D2D[i])
|
||
|
# i += 1
|
||
|
#
|
||
|
# i = 0
|
||
|
# minimum3 = 100
|
||
|
# while i < len(C32D2D):
|
||
|
# print np.mean(C32D2D[i])
|
||
|
# if np.mean(C32D2D[i]) < minimum3:
|
||
|
# minimum3 = np.mean(C32D2D[i])
|
||
|
# i += 1
|
||
|
#
|
||
|
# i = 0
|
||
|
# minimum4 = 100
|
||
|
# while i < len(C42D2D):
|
||
|
# print np.mean(C42D2D[i])
|
||
|
# if np.mean(C42D2D[i]) < minimum4:
|
||
|
# minimum4 = np.mean(C42D2D[i])
|
||
|
# i += 1
|
||
|
#
|
||
|
# i = 0
|
||
|
# minimum5 = 100
|
||
|
# while i < len(C52D2D):
|
||
|
# print np.mean(C52D2D[i])
|
||
|
# if np.mean(C52D2D[i]) < minimum5:
|
||
|
# minimum5 = np.mean(C52D2D[i])
|
||
|
# i += 1
|
||
|
#
|
||
|
# i = 0
|
||
|
# minimum6 = 100
|
||
|
# while i < len(C12D3D):
|
||
|
# print np.mean(C12D3D[i])
|
||
|
# if np.mean(C12D3D[i]) < minimum6:
|
||
|
# minimum6 = np.mean(C12D3D[i])
|
||
|
# i += 1
|
||
|
#
|
||
|
# i = 0
|
||
|
# minimum7 = 100
|
||
|
# while i < len(C22D3D):
|
||
|
# print np.mean(C22D3D[i])
|
||
|
# if np.mean(C22D3D[i]) < minimum7:
|
||
|
# minimum7 = np.mean(C22D3D[i])
|
||
|
# i += 1
|
||
|
#
|
||
|
# i = 0
|
||
|
# minimum8 = 100
|
||
|
# while i < len(C32D3D):
|
||
|
# print np.mean(C32D3D[i])
|
||
|
# if np.mean(C32D3D[i]) < minimum8:
|
||
|
# minimum8 = np.mean(C32D3D[i])
|
||
|
# i += 1
|
||
|
#
|
||
|
# i = 0
|
||
|
# minimum9 = 100
|
||
|
# while i < len(C42D3D):
|
||
|
# print np.mean(C42D3D[i])
|
||
|
# if np.mean(C42D3D[i]) < minimum9:
|
||
|
# minimum9 = np.mean(C42D3D[i])
|
||
|
# i += 1
|
||
|
|
||
|
# i = 0
|
||
|
# minimum10 = 100
|
||
|
# while i < len(C52D3D):
|
||
|
# print np.mean(C52D3D[i])
|
||
|
# if np.mean(C52D3D[i]) < minimum10:
|
||
|
# minimum10 = np.mean(C52D3D[i])
|
||
|
# i += 1
|
||
|
#
|
||
|
mean2D2D = [mean1,mean2,mean3,mean4,mean5]
|
||
|
mean2D3D = [mean6,mean7,mean8,mean9,mean10]
|
||
|
|
||
|
std2D2D = [std1,std2,std3,std4,std5]
|
||
|
std2D3D = [std6,std7,std8,std9,std10]
|
||
|
|
||
|
# print minimum1
|
||
|
|
||
|
# i = 0
|
||
|
# minimum2 = 100
|
||
|
# while i < 5:
|
||
|
# if np.mean(C12D2D[i]) < minimum:
|
||
|
# minimum1 = np.mean(C12D2D[i])
|
||
|
# i += 1
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
N = 5
|
||
|
ind = np.asarray([0.25,1.25,2.25,3.25,4.25])
|
||
|
|
||
|
width = 0.5 # the width of the bars
|
||
|
|
||
|
# x1 = [0.4,1.4,2.4,3.4,4.4]
|
||
|
x2 = [0.45,1.45,2.45,3.45,4.45]
|
||
|
# x3 = [0.5,1.5,2.5,3.5,4.5]
|
||
|
x4 = [0.55,1.55,2.55,3.55,4.55]
|
||
|
# x5 = [0.6,1.6,2.6,3.6,4.6]
|
||
|
|
||
|
fig = plt.figure(figsize=(14.0, 10.0))
|
||
|
|
||
|
|
||
|
|
||
|
ax = fig.add_subplot(111)
|
||
|
|
||
|
# print mean2D2D
|
||
|
# print mean2D3D
|
||
|
|
||
|
# ax.axhline(linewidth=2, y = np.mean(mean2D2D),color='r')
|
||
|
# ax.axhline(linewidth=2, y = np.mean(mean2D3D),color='blue')
|
||
|
|
||
|
# ax.axhline(linewidth=2, y = minvaluevalue,color='black')
|
||
|
|
||
|
# ax.text(0.98, Participantmeanvalue+0.5, "Mean %.2f" % Participantmeanvalue,fontsize=12, fontweight='bold',color='r')
|
||
|
# ax.text(0.98, maxvaluevalue+0.5, "Maximum %.2f" % maxvaluevalue,fontsize=12, fontweight='bold',color='black')
|
||
|
# ax.text(0.98, minvaluevalue+0.5, "Minimum %.2f" % minvaluevalue,fontsize=12, fontweight='bold', color='black')
|
||
|
|
||
|
# rects1 = ax.bar(ind, Participantmean,width, color='r',edgecolor='black',)#, hatch='//')
|
||
|
rects1 = ax.errorbar(x2, mean2D2D,yerr=[std2D2D,std2D2D],fmt='o',color='red',ecolor='red',lw=3, capsize=5, capthick=2)
|
||
|
plt.plot(x2, mean2D2D, marker="o", linestyle='-',lw=3,color='red',label = r'2D-to-2D')
|
||
|
|
||
|
rects2 =ax.errorbar(x4, mean2D3D,yerr=[std2D3D,std2D3D],fmt='o',color='blue',ecolor='blue',lw=3, capsize=5, capthick=2)
|
||
|
plt.plot(x4, mean2D3D, marker="o", linestyle='-',lw=3,color='blue', label = r'2D-to-3D')
|
||
|
|
||
|
legend(fontsize=20,loc='upper right')
|
||
|
|
||
|
# rects3 = ax.errorbar(x3, meanC3,yerr=[stdC3,stdC3],fmt='o',color='black',ecolor='black',lw=3, capsize=5, capthick=2)
|
||
|
# plt.plot(x3, meanC3, marker="o", linestyle='-',lw=3,color='black')
|
||
|
#
|
||
|
# rects4 =ax.errorbar(x4, meanC4,yerr=[stdC4,stdC4],fmt='o',color='green',ecolor='green',lw=3, capsize=5, capthick=2)
|
||
|
# plt.plot(x4, meanC4, marker="o", linestyle='-',lw=3,color='green')
|
||
|
#
|
||
|
# rects5 =ax.errorbar(x5, meanC5,yerr=[stdC5,stdC5],fmt='o',color='orange',ecolor='orange',lw=3, capsize=5, capthick=2)
|
||
|
# plt.plot(x5, meanC5, marker="o", linestyle='-',lw=3,color='orange')
|
||
|
|
||
|
|
||
|
ax.set_ylabel(r'Angular Error',fontsize=22)
|
||
|
ax.set_xlabel(r'Number of Calibration Depths',fontsize=22)
|
||
|
ax.set_xticks(ind+0.25)
|
||
|
ax.set_xticklabels( ('D1', 'D2', 'D3','D4', 'D5') ,fontsize=18)
|
||
|
|
||
|
TOPICs = [0.0,0.5,1.5,2.5,3.5,4.5,5.0]#,110]#,120]
|
||
|
print TOPICs
|
||
|
LABELs = ["",r'1',r'2', r'3', r'4', r'5', ""]#, ""]#, ""]
|
||
|
|
||
|
# fig.canvas.set_window_title('Distance Error Correlation')
|
||
|
plt.xticks(TOPICs, LABELs,fontsize=18)
|
||
|
|
||
|
# legend([rects1,rects2], [r'\LARGE\textbf{2D2D}', r'\LARGE\textbf{2D3D}'], loc='lower right')
|
||
|
|
||
|
TOPICS = [0.5,1,1.5,2,2.5,3,3.5,4,4.5,5]#,110]#,120]
|
||
|
print TOPICS
|
||
|
LABELS = [r'0.5', r'1',r'1.5', r'2',r'2.5', r'3',r'3.5', r'4',r'4.5',r'5']#, ""]#, ""]
|
||
|
|
||
|
# fig.canvas.set_window_title('Accuracy - Activity Statistics')
|
||
|
plt.yticks(TOPICS, LABELS,fontsize=18)
|
||
|
|
||
|
def autolabel(rects):
|
||
|
# attach some text labels
|
||
|
for rect in rects:
|
||
|
height = rect.get_height()
|
||
|
ax.text(0.26+rect.get_x()+rect.get_width()/2., height +0.35, "%.2f"%float(height),
|
||
|
ha='center', va='bottom',fontweight='bold',fontsize=13.5)
|
||
|
|
||
|
# autolabel(rects1)
|
||
|
|
||
|
|
||
|
left = 0.1 # the left side of the subplots of the figure
|
||
|
right = 0.975 # the right side of the subplots of the figure
|
||
|
bottom = 0.075 # the bottom of the subplots of the figure
|
||
|
top = 0.925 # the top of the subplots of the figure
|
||
|
wspace = 0.2 # the amount of width reserved for blank space between subplots
|
||
|
hspace = 0.4 # the amount of height reserved for white space between subplots
|
||
|
|
||
|
plt.subplots_adjust(left=left, bottom=bottom, right=right, top=top, wspace=wspace, hspace=hspace)
|
||
|
plt.show()
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
main(sys.argv[1:])
|
||
|
|