clear all; close all; clc

r = 24; % veľkosť vzoriek
h_o = 50; % poloha horného okraja vzoriek

h_r = 16; % horizontálny rozostup vzoriek
v_r = 16; % vertikálny rozostup vzoriek

h_p = 10; % počet vzoriek horizontálne
v_p = 1; % počet vzoriek vertikálne
n_v = h_p*v_p; % počet vzoriek v jednom obr.

normalizacia = 0;

%% načítanie sád obrazov
% load('databaza_obr_oct_agaroza_gel_log_10.mat');
load('databaza_obr_oct_agaroza_gel_surove.mat')

% load('databaza_obr_oct_intralipid_gel_log10_bez_priemeru.mat')
% load('databaza_obr_oct_intralipid_gel_log10_priemer.mat');
% load('databaza_obr_oct_intralipid_gel_surove_bez_priemeru.mat')
% load('databaza_obr_oct_intralipid_gel_surove_priemer.mat')

% load('databaza_obr_oct_intralipid_voda_log10_bez_priemeru.mat')
% load('databaza_obr_oct_intralipid_voda_log10_priemer.mat')
% load('databaza_obr_oct_intralipid_voda_surove_bez_priemeru.mat')
% load('databaza_obr_oct_intralipid_voda_surove_priemer.mat')

%% vytvorenie vzoriek
% veľkosť databázy
sd = size(data);

% prazdne b. pole pre uloženie výrezov z každého obr. v definovanej hĺbke
dVzoriek_testy = cell(n_v*sd(1,1)/2,sd(1,2)); 
% polovica obrazov je použitá pre vytvorenie databázy tried

% cyklus pre výber stĺpca databázy (každý stĺpec iný gél)
for i = 1:sd(1,2);
    % cyklus pre výber riadku databázy (číslo obr. v stĺpci)
    for j = (sd(1,1)/2)+1:sd(1,1); % druhá polovica databázy pre testy
                                   % v skripte pre triedy je prvá polovica: 
                                   % j = 1:sd(1,1)/2;

        obr = data{j,i}; % výber obrázku z databázy
        if normalizacia == 1
            obr = obr - min(min(obr));  
            obr = obr/max(max(obr));
        end
%          % podvzorkovanie - spriemerovanie obr.
%          velkost podvzorkovaneho obrazku
%          so = size(obr)/2;
%          % novy spriemerovany obraz
%          n_obr = zeros(so);
% 
%          for k = 1:so(1,1)
%              e = 2*k;
%              for l = 1:so(1,2)
%                  f = 2*l;
%                  n_obr(k,l) = (obr(e,f)+...
%                               obr(e-1,f)+...
%                               obr(e,f-1)+...
%                               obr(e-1,f-1))/4;
%             end
%         end
%         obr = n_obr; % podvzorkovany obraz s rozmermi 256 x 256

        % výber 4 vzoriek v jednom obr.

        riadok = 1; % počítadlo pre ukladanie na konkrétnej pozícii

        % m*n = počet vzoriek z jedného obrazu
        for m = 1:h_p; % horizontalny posun
            for n = 1:v_p % vertikalny posun
            A = h_o + (n-1)*(r + v_r);
            B = (((m-1)*(r + h_r))+1);
            vzorka = obr(A : A + r-1, B : B + r-1);             
            dVzoriek_testy{(j-sd(1,1)/2-1)*n_v+riadok,i} = vzorka;
            riadok = riadok+1;
            end
        end
    end
end

sV = size(dVzoriek_testy);

%% uloženie vzoriek

% save('databaza_testov_lbp_agaroza_gel_log_10.mat','dVzoriek_testy')
save('databaza_testov_lbp_agaroza_gel_surove.mat','dVzoriek_testy')

% save('databaza_testov_lbp_intralipid_gel_log10_bez_priemeru.mat','dVzoriek_testy')
% save('databaza_testov_lbp_intralipid_gel_log10_priemer.mat','dVzoriek_testy')
% save('databaza_testov_lbp_intralipid_gel_surove_bez_priemeru.mat','dVzoriek_testy')
% save('databaza_testov_lbp_intralipid_gel_surove_priemer.mat','dVzoriek_testy')

% save('databaza_testov_lbp_intralipid_voda_log10_bez_priemeru.mat','dVzoriek_testy')
% save('databaza_testov_lbp_intralipid_voda_log10_priemer.mat','dVzoriek_testy')
% save('databaza_testov_lbp_intralipid_voda_surove_bez_priemeru.mat','dVzoriek_testy')
% save('databaza_testov_lbp_intralipid_voda_surove_priemer.mat','dVzoriek_testy')
