%%============================================
% Tohle je skript pro vygenerování grafů závislosti střední hodnoty,
% rozptylu atd na expozičním času. 
% 
% Data se musí načítat postupně jeden po druhém, na konci se vykreslí
% grafy.

clear
for i=1:8
    % Načtení bright framu ve formátu .raw
    ProjectionData=Data_loading; 
    data=ProjectionData.Data;
    fprintf('Nacten %f snimek. \n', i)
    data=data/2^16; % normalizace dat
    data=remove_hot_pixels(data,7); % eliminování hot pixelů, které nemění pozici ve snímcích
    
    % eliminace impulsního šumu
    data=filloutliers(data,"nearest","percentiles",[1.5 98.5]);

    % spočtení statistických momentů signálu
    StrH(i)=mean(data(:));
    Roz(i)=var(data(:));
    
    % odečtení šumu
    [noise]=Noise_extraction(data);
    
    % spočtení statistických momentů šumu
    X(:,i)=noise(:);
    M(i)=mean(noise(:));
    V(i)=var(noise(:));
    K(i)=kurtosis(noise(:));
    S(i)=skewness(noise(:));
    
    % vykreslení QQ grafu a histogramu
    Plots(noise)
    MSE(i)=MSE_qqplot(noise);
   

end
%% vykreslení závislostí
x=[1 5 10 15 20 25 30 35];
figure
plot(x,M,'r*')
axis([0.5 40.5 -1 1])
xticks([1 5 10 15 20 25 30 35])
title('Graph of mean values of noise in bright frames with increasing exposure')
xlabel('Exposure [s]')
ylabel('Mean')


figure
plot(x,StrH,'ko')
title('Graph of mean values of bright frames with increasing exposure')
xlabel('Exposure [s]')
ylabel('Mean')
xticks([1 5 10 15 20 25 30 35])


figure
plot(x,V,'bx')
title('Graph of variance of noise in bright frames with increasing exposure')
xlabel('Exposure [s]')
ylabel('Variance')
xticks([1 5 10 15 20 25 30 35])

figure
plot(x,Roz,'+')
title('Graph of variance of bright frames with increasing exposure')
xlabel('Exposure [s]')
ylabel('Variance')
xticks([1 5 10 15 20 25 30 35])

figure
plot(StrH,V,'k*')
title('Graph of relation between mean value of signal and noise variance')
xlabel('Mean value of signal')
ylabel('Noise variance')

figure
plot(x,S,'r+')
title('Graph of noise skewness with increasing exposure time')
xlabel('Exposrue [s]')
ylabel('Skewness')
figure
plot(x,MSE,'ko')
title('Graph of MSE of qqplot with increasing exposure time')
xlabel('Exposure [s]')
ylabel('MSE')
xticks([1 5 10 15 20 25 30 35])
