% Tento soubor vložen pouze pro příklad korelace odhadnutých parametrů s
% tloušťkou VNV
%% Korelace odhadnutých parametrů s tloušťkou VNV
clear all
close all
clc

%% Načtení vzorků zdravé tkáně a tloušťky

% napište adresu, kde jsou uloženy soubory
cesta=('C:');

load ([cesta '\' 'vzorky_normal.mat']);
load ([cesta '\' 'vzorky_r50.mat']);
load ([cesta '\' 'vzorky_r25.mat']);
load ([cesta '\' 'tloustka_VNV.mat']);


%% Výpočet odhadu

pocet=3;
mezera=1;
typ=3;

% Originální obrázek
for i=1:17
    [A_normal{i},sigma_normal{i}] = GMRF_cirkular(vzorky_normal{i},pocet,mezera); % typ cirkulárního okolí
%     [A_normal{i},sigma_normal{i}] = GMRF_normal(vzorky_normal{i},typ); % typ normálního okolí
end
A1=[A_normal{1}; A_normal{2}; A_normal{3}; A_normal{4}; A_normal{5};...
    A_normal{6}; A_normal{7}; A_normal{8}; A_normal{9}; A_normal{10};...
    A_normal{11}; A_normal{12}; A_normal{13}; A_normal{14}; A_normal{15};...
    A_normal{16}; A_normal{17}];
sigma1=[sigma_normal{1}; sigma_normal{2}; sigma_normal{3}; sigma_normal{4}; sigma_normal{5};...
    sigma_normal{6}; sigma_normal{7}; sigma_normal{8}; sigma_normal{9}; sigma_normal{10};...
    sigma_normal{11}; sigma_normal{12}; sigma_normal{13}; sigma_normal{14}; sigma_normal{15};...
    sigma_normal{16}; sigma_normal{17}];
display('Odhad hotový pro normální vozorek');

% Obrázek redukovaný na 50 %
for i=1:17
    [A_r50{i},sigma_r50{i}] = GMRF_cirkular(vzorky_r50{i},pocet,mezera); % typ cirkulárního okolí
%     [A_r50{i},sigma_r50{i}] = GMRF_normal(vzorky_r50{i},typ); % typ normálního okolí
end
A2=[A_r50{1}; A_r50{2}; A_r50{3}; A_r50{4}; A_r50{5}; A_r50{6}; A_r50{7};...
    A_r50{8}; A_r50{9}; A_r50{10}; A_r50{11}; A_r50{12}; A_r50{13};...
    A_r50{14}; A_r50{15}; A_r50{16}; A_r50{17}];
sigma2=[sigma_r50{1}; sigma_r50{2}; sigma_r50{3}; sigma_r50{4}; sigma_r50{5}; sigma_r50{6}; sigma_r50{7};...
    sigma_r50{8}; sigma_r50{9}; sigma_r50{10}; sigma_r50{11}; sigma_r50{12}; sigma_r50{13};...
    sigma_r50{14}; sigma_r50{15}; sigma_r50{16}; sigma_r50{17}];
display('Odhad hotový pro vzorek redukovaný na 50 %');

% Obrázek redukovaný na 25 %
for i=1:17
    [A_r25{i},sigma_r25{i}] = GMRF_cirkular(vzorky_r25{i},pocet,mezera); % typ cirkulárního okolí
%     [A_r25{i},sigma_r25{i}] = GMRF_normal(vzorky_r25{i},typ); % typ normálního okolí
end
A3=[A_r25{1}; A_r25{2}; A_r25{3}; A_r25{4}; A_r25{5}; A_r25{6}; A_r25{7};...
    A_r25{8}; A_r25{9}; A_r25{10}; A_r25{11}; A_r25{12}; A_r25{13};...
    A_r25{14}; A_r25{15}; A_r25{16}; A_r25{17}];
sigma3=[sigma_r25{1}; sigma_r25{2}; sigma_r25{3}; sigma_r25{4}; sigma_r25{5}; sigma_r25{6}; sigma_r25{7};...
    sigma_r25{8}; sigma_r25{9}; sigma_r25{10}; sigma_r25{11}; sigma_r25{12}; sigma_r25{13};...
    sigma_r25{14}; sigma_r25{15}; sigma_r25{16}; sigma_r25{17}];
display('Odhad hotový pro vzorek redukovaný na 25 %');


A = [A1 A2 A3]; % parametry odhanuté ze všech textur
Sigma = [sigma1 sigma2 sigma3]; % parametry sigmy se pro korelaci nepoužívají

%% Korelace
[~,pocet_parametru]=size(A);

for i=1:pocet_parametru
    corelation(i,1) = corr(A(:,i), tloustka_VNV, 'type', 'Spearman'); % Spearmanův korelační koeficient
end

sloupcu=pocet_parametru/3;
radku=pocet_parametru/sloupcu;

figure;
hold on;
for i=1:pocet_parametru
   subplot(sloupcu,radku,i);
   plot(tloustka_VNV, A(:,i), '*'); % vykreslení korelací parametrů s tloušťkou
   lsline;
end

figure; plot(abs(corelation(1:pocet_parametru)), 'r*');

max_korelace=max(abs(corelation));
display(max_korelace);
