%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Estatisticas de execução %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc; close all;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Analise de erro de posição %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:length(error)
	xyerr(i,1)=error(i,1)-80;
	xyerr(i,2)=error(i,3)-60;
end

for i=1:length(error2)
	xyerr2(i,1)=error2(i,1)-80;
	xyerr2(i,2)=error2(i,3)-60;
end

figure
plot(xyerr(:,1),'-x')
hold on;
plot(xyerr(:,2),'-or')
hold off;
title('Erro no tracking')
xlabel('Iterações')
ylabel('Erro em pixels')
legend('x','y')
figure
plot(xyerr2(:,1),'-xk')
hold on
plot(xyerr2(:,2),'-og')
hold off
title('Erro no tracking')
xlabel('Iterações')
ylabel('Erro em pixels')
legend('x','y')
Erro_max_x=max(abs(xyerr(:,1)))
Erro_min_x=min(abs(xyerr(:,1)))
Erro_med_x=mean(abs(xyerr(:,1)))
Erro_max_y=max(abs(xyerr(:,2)))
Erro_min_y=min(abs(xyerr(:,2)))
Erro_med_y=mean(abs(xyerr(:,2)))

Erro_max_x2=max(abs(xyerr2(:,1)))
Erro_min_x2=min(abs(xyerr2(:,1)))
Erro_med_x2=mean(abs(xyerr2(:,1)))
Erro_max_y2=max(abs(xyerr2(:,2)))
Erro_min_y2=min(abs(xyerr2(:,2)))
Erro_med_y2=mean(abs(xyerr2(:,2)))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Analise de tempos de execução %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:length(time)
	exect(i,1)=time(i,2)-time(i,1);
	exect(i,2)=time(i,3)-time(i,2);
	exect(i,3)=time(i,4)-time(i,3);
	exect(i,4)=time(i,5)-time(i,4);
	exect(i,5)=time(i,6)-time(i,5);
	exect(i,6)=time(i,7)-time(i,6);
	exect(i,7)=time(i,7)-time(i,1);
end

for i=1:length(time2)
	exect2(i,1)=time2(i,2)-time2(i,1);
	exect2(i,2)=time2(i,3)-time2(i,2);
	exect2(i,3)=time2(i,4)-time2(i,3);
	exect2(i,4)=time2(i,5)-time2(i,4);
	exect2(i,5)=time2(i,6)-time2(i,5);
    exect2(i,6)=time2(i,7)-time2(i,6);
	exect2(i,7)=time2(i,7)-time2(i,1);
end

disp('Estatisticas de aquisição')
acq_max=max(exect(:,1))
acq_min=min(exect(:,1))
acq_med=mean(exect(:,1))
acq_desvp=std(exect(:,1))

disp('Estatisticas de redução de resolução(PyrDown)')
pyr_max=max(exect(:,2))
pyr_min=min(exect(:,2))
pyr_med=mean(exect(:,2))
pyr_desvp=std(exect(:,2))

disp('Estatisticas de processamento')
proc_max=max(exect(:,3))
proc_min=min(exect(:,3))
proc_med=mean(exect(:,3))
proc_desvp=std(exect(:,3))

disp('Estatisticas de cálculo do centro de massa')
calc_max=max(exect(:,4))
calc_min=min(exect(:,4))
calc_med=mean(exect(:,4))
calc_desvp=std(exect(:,4))

disp('Estatisticas de cálculo - algoritmo de tracking')
track_max=max(exect(:,5))
track_min=min(exect(:,5))
track_med=mean(exect(:,5))
track_desvp=std(exect(:,5))

disp('Estatisticas de actuação')
act_max=max(exect(:,6))
act_min=min(exect(:,6))
act_med=mean(exect(:,6))
act_desvp=std(exect(:,6))

disp('Tempo total de execução')
tot_max=max(exect(:,7))
tot_min=min(exect(:,7))
tot_med=mean(exect(:,7))
tot_desvp=std(exect(:,7))
%%%%%%
% V2 %
%%%%%%
disp('Estatisticas de aquisição2')
acq_max2=max(exect2(:,1))
acq_min2=min(exect2(:,1))
acq_med2=mean(exect2(:,1))
acq_desvp2=std(exect2(:,1))

disp('Estatisticas de redução de resolução(PyrDown)')
pyr_max2=max(exect2(:,2))
pyr_min2=min(exect2(:,2))
pyr_med2=mean(exect2(:,2))
pyr_desvp2=std(exect2(:,2))

disp('Estatisticas de processamento')
proc_max2=max(exect2(:,3))
proc_min2=min(exect2(:,3))
proc_med2=mean(exect2(:,3))
proc_desvp2=std(exect2(:,3))

disp('Estatisticas de cálculo do centro de massa')
calc_max2=max(exect2(:,4))
calc_min2=min(exect2(:,4))
calc_med2=mean(exect2(:,4))
calc_desvp2=std(exect2(:,4))

disp('Estatisticas de cálculo - algoritmo de tracking')
track_max2=max(exect2(:,5))
track_min2=min(exect2(:,5))
track_med2=mean(exect2(:,5))
track_desvp2=std(exect2(:,5))

disp('Estatisticas de actuação')
act_max2=max(exect2(:,6))
act_min2=min(exect2(:,6))
act_med2=mean(exect2(:,6))
act_desvp2=std(exect2(:,6))

disp('Tempo total de execução')
tot_max2=max(exect2(:,7))
tot_min2=min(exect2(:,7))
tot_med2=mean(exect2(:,7))
tot_desvp2=std(exect2(:,7))

