function [vektor_features] = vyber_priznaku(cyklyDLOUHE, cyklyKRATKE, OUTclear, prumer_dlouhe, RR)
%% Předpoklady pro tuto funkci
%             Do této funkce budou vstupovat pouze ty cykly, které nebyly zařazeny do předchozích dvou skupin. Zde pjde o to zjistit jestli se jedná o PVC
%             nebo ne. Základní vlastnosti PVC jsou tvarová odlišnost od normálních cylu (na tom se zakládá první třídění), dále je to předčasný vztah což znamená 
%             kratší RR interval následující kompenzační pauzou.
%             V teto funkci je snaha nějak číselně vystihnout odlišnost aby seděla jak pro kladnou tak zápornou odlišnost protože někdy jsou pvc menší 
%             než normalní a někdy větší.
%% Funkce které dáme na vstup vsechny cykly jednoho signálu a ta nám vybere příznaky a uloží do vektor_features
% Samotná funkce:
%     OUTclear...nuly jsou na místech které už nepujdou do dalšího zpracování a 1 na místech ABSV
%     cyklyDLOUHE...delší vybrané segmenty
%     prumer_dlouhe...reference vči které se vypočítávají příznaky
%     cyklyKRATKE...kratší vybrané segmenty
%     fN...počet příznaků pro alokaci místa

%% Příznaky bereme jen od nevyřazených cyklů
prumerRR = mean(RR);  
RR = [prumerRR;RR;prumerRR];                                               %aby nenastal problem s nedostatkem RR 
mark = find(OUTclear~=0 & OUTclear~=1)';                                   %od těchto budeme brát features ostatní už jsou zařazené
QRSn = numel(mark);
fN = 7;
vektor_features = zeros(fN, QRSn);                                         %zatím nevím jak bude vektor příznaků velký
vektor_features(1,:) = mark;                                               %abych věděla kolikátý je to cyklus od kterého beru příznaky
    
%% Hodnoty potřebné pro příznaky
ff = FF(cyklyDLOUHE)';


%% Průměrný cyklus
ff_prumer_dlouhe = FF(prumer_dlouhe);
plocha_pod_krivkou_prumer_dlouhy = sum(abs(prumer_dlouhe),[]);

for i = 1:numel(mark)                                                      % u prvního a posledního se to nedá udělat 
    pom_vektor = [];
    pom = cyklyKRATKE(mark(i),:);                                          %procházím jednotlivé cykly
    pom_dlouhe = cyklyDLOUHE(mark(i),:); 
    plocha_pod_krivkou_dlouhy = sum(abs(pom_dlouhe));                 %plocha pod křivkou delšího signálu


    [~, I1] = max(pom); 
    [~, I2] = min(pom);    
    [max_d, ~] = max(pom_dlouhe);  
    [min_d, ~] = min(pom_dlouhe);

    
    pom_vektor = [pom_vektor ;RR(mark(i)+1)/RR(mark(i))];                      % podíl RR intervalů u extrasystol čekáme hodnotu nad 1, nasledující/předchozí
    pom_vektor = [pom_vektor ;abs(ff(mark(i))-ff_prumer_dlouhe)];              %rozdíl tvarového faktoru od reprezentačního cyklu
    pom_vektor = [pom_vektor ;plocha_pod_krivkou_dlouhy/(plocha_pod_krivkou_prumer_dlouhy+1)];
    pom_vektor = [pom_vektor ;abs(I2-I1)];          %"šířkový" rozsah  kratšího signálu
    pom_vektor = [pom_vektor; (abs(max_d-max(prumer_dlouhe)))+(abs(min_d-min(prumer_dlouhe)))];
    pom_vektor = [pom_vektor; abs(RR(mark(i))- mean(RR))];
    


                     
   
    % Uložení
    vektor_features(2:end,i) = pom_vektor;    
end 


