%% Testovaci funkce pro statistickou analyzu metod
clc;
close all;
clear all;
%% Deklarace databaze snimku a jejich parametru
snimky_vse={'elfo_id_2_b.tif',
        'elfo_id_3_a.tif',
        'elfo_id_4_a.tif',
        'elfo_id_5_a.tif',
        'elfo_id_7_a.tif',
        'elfo_id_8_a.tif',
        'elfo_id_8_b.tif',
        'elfo_id_11_a.tif', 
        'elfo_id_11_b.tif',
        'elfo_id_12_a.tif',
        'elfo_id_13_a.tif',
        'elfo_id_14_b.tif'};
pocty_linii_vse=[10,10,10,10,10,10,9,9,10,10,10,10];
vyber_orez={'Automaticky orez',
            'Automaticky orez',
            'Automaticky orez',
            'Automaticky orez',
            'Automaticky orez',
            'Manualni orez',
            'Manualni orez',
            'Automaticky orez',
            'Automaticky orez',
            'Manualni orez',
            'Manualni orez', 
            'Automaticky orez'};

%% Volani funkci metod, pouziti vsech kombinaci metod pro oba typy priznaku
korelace=[];
for i=1:length(snimky_vse)
    %Nacteni a orez
    [obr,map]=imread(snimky_vse{i});
    obr = ind2rgb(obr,map);
    obr = rgb2gray(obr);
    obr_vyrez=orez(obr,vyber_orez{i});
    % Predzpracovani
    obr_zprac=predzpracovani(obr_vyrez);
    % Detekce linii
    polohy_linie=detekce_linii(obr_zprac,pocty_linii_vse(i));
    % Prevedeni linii na median
    obr_med=prevedeni_median(obr_zprac,pocty_linii_vse(i),polohy_linie);
    % Detekce prouzku a jejich parametru
    [polohy_prouzky,prouzky_zacatky,prouzky_konce]=detekce_prouzku(polohy_linie,obr_med);
    % Median jako 1D signal
    [~,~,spravnost_1]=priznak_median_vsechny(obr_med,pocty_linii_vse(i),polohy_linie);
    % Parametry prouzku
    [~,~,spravnost_2]=priznak_prouzky_vsechny(obr_vyrez, polohy_prouzky,prouzky_zacatky,prouzky_konce,polohy_linie);
    % Ulozeni dat
    data_1(:,:,i)=spravnost_1;
    data_2(:,:,i)=spravnost_2;
end

save data_1.mat data_1   
save data_2.mat data_2  

%% Ulozeni dat do formatu .xls - 
% Z techto vytvorenych souboru je nasledne pomoci Excelu vytvoren soubor
% data.xls
clear all
load data_1.mat   
load data_2.mat 

% Priprava dat pro zapsani do souboru
data_1_shluky=[];
data_1_vzdalenosti=[];
for i=1:length(data_1(1,1,:))
    data_1_shluky=[data_1_shluky; data_1(:,:,i)];
    data_1_vzdalenosti=[data_1_vzdalenosti data_1(:,:,i)];
end
data_1_vzdalenosti=transpose(data_1_vzdalenosti);
% Zapis do souboru xls
xlswrite('data_1_shluky.xls',data_1_shluky);
xlswrite('data_1_vzdalenosti.xls',data_1_vzdalenosti);

% Priprava dat pro zapsani do souboru
data_2_shluky=[];
data_2_vzdalenosti=[];
for i=1:length(data_2(1,1,:))
    data_2_shluky=[data_2_shluky; data_2(:,:,i)];
    data_2_vzdalenosti=[data_2_vzdalenosti data_2(:,:,i)];
end
data_2_vzdalenosti=transpose(data_2_vzdalenosti);
% Zapis do souboru xls
xlswrite('data_2_shluky.xls',data_2_shluky);
xlswrite('data_2_vzdalenosti.xls',data_2_vzdalenosti);
