% 
% hlavní skript
% k výpočtu parametrů jsou použity funkce var_coef, stredni_h, spicatost,
% sikmost, rozptyl, odchylka, HjorthParameters_cb, aktivita
% kvůli velikosti souborů je analýza provedena pouze na pěti signálech
clc, clear all
%% načtení dat a jejich předzpracování
load('ST_MIN_LSK.mat');
load('PA_MIN_LSK.mat');
load('KP_MIN_RBK.mat');
load('KP_FL_RBK.mat');
load('KP_FL_LSK.mat');
load('KP_MIN_LSK.mat');
load('CB_MIN_LSK.mat');
load('JL_MIN_RBK.mat');

fs = 4000
for l=1:800
     pom1 = JL_MIN_LSK{l,1};
 pom2 = CB_MIN_LSK{l,1};
 pom3 = KP_MIN_LSK{l,1};
 pom4 = KP_FL_LSK{l,1};
 pom5 = KP_FL_RBK{l,1};
 pom6 = KP_MIN_RBK{l,1};
 pom7 = PA_MIN_LSK{l,1};
 pom8 = ST_MIN_LSK{l,1};

 JL_MIN_LSK{l,1} = medfilt1(pom1,5) ;%nedříve bylo třeba načtená data
%vyfiltrovat nastaveno okno 5 - byl použit mediánový filtr
CB_MIN_LSK{l,1} = medfilt1(pom2,5);
KP_MIN_LSK{l,1} = medfilt1(pom3,5);
KP_FL_LSK{l,1} = medfilt1(pom4,5);
KP_FL_RBK{l,1} = medfilt1(pom5,5);
KP_MIN_RBK{l,1} = medfilt1(pom6,5);
PA_MIN_LSK{l,1} = medfilt1(pom7,5);
ST_MIN_LSK{l,1} = medfilt1(pom8,5);


end



%end
%% výpočty
% načtení cesty kde jsou uloženy funkce pro výpočty parametrů
%addpath("  D:\Bakalarska_prace\Dataset\dataset_stejny_organismus_C_berinjncii")

%výpočet rozptylu
rozptyl1 = rozptyl(JL_MIN_LSK);
rozptyl2 = rozptyl(CB_MIN_LSK);
rozptyl3 = rozptyl(KP_MIN_LSK);
rozptyl4 = rozptyl(KP_FL_LSK);
rozptyl5 = rozptyl(KP_FL_RBK);
rozptyl6 = rozptyl(KP_MIN_RBK);
rozptyl7 = rozptyl(PA_MIN_LSK);
rozptyl8 = rozptyl(ST_MIN_LSK);

%výpočet variačního koeficientu
var_koef1 = var_coef(JL_MIN_LSK);
var_koef2 = var_coef(CB_MIN_LSK);
var_koef3 = var_coef(KP_MIN_LSK);
var_koef4 = var_coef(KP_FL_LSK);
var_koef5 = var_coef(KP_FL_RBK);
var_koef6 = var_coef(KP_MIN_RBK);
var_koef7 = var_coef(PA_MIN_LSK);
var_koef8 = var_coef(ST_MIN_LSK);

%hjorthovy parametry - aktivita, komplexita, mobilita
for j=1:800
 
 pom1 =  JL_MIN_LSK{j};
 pom2 =  CB_MIN_LSK{j};
 pom3 =  KP_MIN_LSK{j};
 pom4 = KP_FL_LSK{j};
 pom5 = KP_FL_RBK{j};
 pom6 = KP_MIN_RBK{j};
 pom7 = PA_MIN_LSK{j};
 pom8 = ST_MIN_LSK{j};
[mobilita1(j,1),complexity1(j,1)] = HjorthParameters_cb(pom1);
[mobilita2(j,1),complexity2(j,1)] = HjorthParameters_cb(pom2);
[mobilita3(j,1),complexity3(j,1)] = HjorthParameters_cb(pom3);
[mobilita4(j,1),complexity4(j,1)] = HjorthParameters_cb(pom4);
[mobilita5(j,1),complexity5(j,1)] = HjorthParameters_cb(pom5);
[mobilita6(j,1),complexity6(j,1)] = HjorthParameters_cb(pom6);
[mobilita7(j,1),complexity7(j,1)] = HjorthParameters_cb(pom7);
[mobilita8(j,1),complexity8(j,1)] = HjorthParameters_cb(pom8);
end
%aktivita - hjorth deskriptor
for j=1:800
pom1 = JL_MIN_LSK{j};
pom2 = CB_MIN_LSK{j};
pom3 = KP_MIN_LSK{j};
pom4 = KP_FL_LSK{j};
pom5 = KP_FL_RBK{j};
pom6 = KP_MIN_RBK{j};
pom7 = PA_MIN_LSK{j};
pom8 = ST_MIN_LSK{j};
activity1(j,1) = var(pom1);
activity2(j,1) = var(pom2);
activity3(j,1) = var(pom3);
activity4(j,1) = var(pom4);
activity5(j,1) = var(pom5);
activity6(j,1) = var(pom6);
activity7(j,1) = var(pom7);
activity8(j,1) = var(pom8);
end

%výpočet směrodatné odchylky
odchylka1 = odchylka(JL_MIN_LSK);
odchylka2 = odchylka(CB_MIN_LSK);
odchylka3 = odchylka(KP_MIN_LSK);
odchylka4 = odchylka(KP_FL_LSK);
odchylka5 = odchylka(KP_FL_RBK);
odchylka6 = odchylka(KP_MIN_RBK);
odchylka7 = odchylka(PA_MIN_LSK);
odchylka8 = odchylka(ST_MIN_LSK);

%výpočet střední hodnoty

stredni_1 = stredni_h(JL_MIN_LSK);
stredni_2 = stredni_h(CB_MIN_LSK);
stredni_3 = stredni_h(KP_MIN_LSK);
stredni_4 = stredni_h(KP_FL_LSK);
stredni_5 = stredni_h(KP_FL_RBK);
stredni_6 = stredni_h(KP_MIN_RBK);
stredni_7 = stredni_h(PA_MIN_LSK);
stredni_8 = stredni_h(ST_MIN_LSK);

%výpočet šikmosti
sikmost_1 = sikmost(JL_MIN_LSK);
sikmost_2 = sikmost(CB_MIN_LSK);
sikmost_3 = sikmost(KP_MIN_LSK);
sikmost_4 = sikmost(KP_FL_LSK);
sikmost_5 = sikmost(KP_FL_RBK);
sikmost_6 = sikmost(KP_MIN_RBK);
sikmost_7 = sikmost(PA_MIN_LSK);
sikmost_8 = sikmost(ST_MIN_LSK);

%výpočet špičatosti
spicatost_1 = spicatost(JL_MIN_LSK);
spicatost_2 = spicatost(CB_MIN_LSK);
spicatost_3 = spicatost(KP_MIN_LSK);
spicatost_4 = spicatost(KP_FL_LSK);
spicatost_5 = spicatost(KP_FL_RBK);
spicatost_6 = spicatost(KP_MIN_RBK);
spicatost_7 = spicatost(PA_MIN_LSK);
spicatost_8 = spicatost(ST_MIN_LSK);
%%Statistická analýza pomocí statistických testů



figure
 vykresleni_rozptyl = [rozptyl1,rozptyl2,rozptyl3,rozptyl4,rozptyl5,rozptyl6,rozptyl7,rozptyl8];
%p = kruskalwallis(vykresleni_rozptyl);

%% vykreslení parametrů pomocí boxplotu
% %vykreslení rozptylu
 figure 
 vykresleni_rozptyl = [rozptyl1,rozptyl2,rozptyl3,rozptyl4,rozptyl5,rozptyl6,rozptyl7,rozptyl8];
% 
 boxplot(vykresleni_rozptyl, 'Labels', {'JL','CB','KP_1','KP_2','KP_3','KP_4','PA','ST'},'Whisker',2);
xlabel('Organismus');
ylabel('Rozptyl [pA^2]');
 title('Rozptyl');
% 
% %vykreslení směrodatné odchylky
 figure 
 vykresleni_odch = [odchylka1,odchylka2,odchylka3,odchylka4,odchylka5,odchylka6,odchylka7,odchylka8];
% 
 boxplot(vykresleni_odch, 'Labels', {'JL','CB','KP_1','KP_2','KP_3','KP_4','PA','ST'},'Whisker',2);
 xlabel('Organismus');
 ylabel('Směrodatná odchylka [pA]');
 title('Směrodatná odchylka');
% 
% %vykreslení variačního koeficientu
 figure 
 vykresleni_var = [var_koef1,var_koef2,var_koef3,var_koef4,var_koef5,var_koef6,var_koef7,var_koef8];
% 
 boxplot(vykresleni_var, 'Labels', {'JL','CB','KP_1','KP_2','KP_3','KP_4','PA','ST'},'Whisker',2);
 xlabel('Organismus');
ylabel('Variační koeficient [%]');
 title('Variační koeficient');
% kruskalwallis(vykresleni_var);
 %anova1(vykresleni_var);
% 
% %vykreslení šikmosti
 figure 
 vykresleni_sik = [sikmost_1,sikmost_2,sikmost_3,sikmost_4,sikmost_5,sikmost_6,sikmost_7,sikmost_8];
% 
 boxplot(vykresleni_sik, 'Labels', {'JL','CB','KP_1','KP_2','KP_3','KP_4','PA','ST'},'Whisker',2);
 xlabel('Organismus');
 ylabel('Šikmost [-]');
 title('Šikmost');
% %kruskalwallis(vykresleni_sik); provede výpočet statistického testu
% %anova1(vykresleni_sik); vypočítá statistický test
% 
% %vykreslení špičatosti
 figure 
 vykresleni_spic = [spicatost_1,spicatost_2,spicatost_3,spicatost_4,spicatost_5,spicatost_6,spicatost_7,spicatost_8];
 
 boxplot(vykresleni_spic, 'Labels', {'JL','CB','KP_1','KP_2','KP_3','KP_4','PA','ST'},'Whisker',2);
 xlabel('Organismus');
ylabel('Špičatost [-]');
 title('Špičatost');
% %kruskalwallis(vykresleni_sik); provede výpočet statistického testu
% 
% %hjorthovy deskriptory
 %vykreslení aktivity
 figure 
 vykresleni_akt = [activity1,activity2,activity3,activity4,activity5,activity6,activity7,activity8];
% 
 boxplot(vykresleni_akt, 'Labels', {'JL','CB','KP_1','KP_2','KP_3','KP_4','PA','ST'},'Whisker',2);
 xlabel('Organismus');
ylabel('Aktivita [pA^2]');
 title('Aktivita');
% 
% %vykreslení mobility
 figure 
 vykresleni_mob = [mobilita1,mobilita2,mobilita3,mobilita4,mobilita5,mobilita6,mobilita7,mobilita8];
% 
 boxplot(vykresleni_mob, 'Labels',{'JL','CB','KP_1','KP_2','KP_3','KP_4','PA','ST'},'Whisker',2);
 xlabel('Organismus');
ylabel('Mobilita [pA/s]');
 title('Mobilita');
% 
% %vykreslení komplexivity
 figure 
 vykresleni_cplx = [complexity1,complexity2,complexity3,complexity4,complexity5,complexity6,complexity7,complexity8];
% 
 boxplot(vykresleni_cplx, 'Labels',{'JL','CB','KP_1','KP_2','KP_3','KP_4','PA','ST'},'Whisker',2);
 xlabel('Organismus');
 ylabel('Komplexita [-]');
 title('Komplexita');


%vykreslení střední hodnoty
 figure 
 vykresleni_stred_h = [stredni_1,stredni_2,stredni_3,stredni_4,stredni_5,stredni_6,stredni_7,stredni_8];
% 
 boxplot(vykresleni_stred_h,  'Labels',{'JL','CB','KP_1','KP_2','KP_3','KP_4','PA','ST'},'Whisker',2);
 xlabel('Organismus');
 ylabel('Střední hodnota [pA]');
 title('Střední hodnota');

%nakonec byly výsledky uloženy