%%%% vyhodnoceniVIDEOOFTALM.M %%%%
% Soubor slouzi k hromadnemu otestovani a vyhodnoceni snimku z video oftalmoskopu a ziskani souhrnnych
% vysledku pro tyto snimky v textovem souboru.

% Po spusteni uzivatel zada nazev a umisteni textoveho souboru, do ktereho
% se ulozi vysledky v poradi: JMENO OBRAZU, SENZITIVITA, SPECIFICITA, PRESNOST, PREKRYTI
% Takto budou vyhodnoceny vsechny snimky z databaze, pro ktere je dostupna
% referencni hranice

% Pripadne prenastaveni vypocetnich parametru algoritmu je mozne pouze
% upravou hodnot v souboru main.m
% pripadne kdekoli ve funkcich algoritmu, ktere jsou volany funkci main


clear variables
close all
clc

aktual = mfilename('fullpath');
info=dir(strcat(aktual(1:end-43),'\Data\vstupni data\video_oftalmoskop'));
[nam, dir] = uiputfile('*.txt','Zadejte umisteni a nazev textoveho souboru pro ulozeni vysledku', strcat(aktual(1:end-43),'\Data\vystupy\vysledky\VYSLEDKYVIDEOOFTALMO.txt'));
textak = fopen(strcat(dir,nam),'w');

slozka = strcat(aktual(1:end-43),'\Data\vstupni data\video_oftalmoskop\');

pocet = -3;
for i=1:size(info,1)
    if (info(i).isdir ~= 1)
    
        nazev = info(i).name;
        cesta = strcat(slozka,nazev);
        cestavrcholy = strcat(slozka,'OD contour\',nazev(1:28),'_OD_contour.txt'); 
        
        % pokud neni soubor (referencni kontura) pritomen, tak je aktualni krok preskocen
        if (exist(cestavrcholy, 'file') ~= 2) 
            continue
        end        
     
        vrcholy = load(cestavrcholy);
        [vysledek, vyslednevrcholy, senzitivita, specificita, presnost, prekryti] = main(cesta, 0, 1, vrcholy);        
        fprintf(textak, '%s\t%.2f\t%.2f\t%.2f\t%.2f\r\n', nazev(1:17),senzitivita,specificita,presnost,prekryti);
    end
    
    pocet = pocet + 1;
    if pocet > 0        
        pom = ['Zpracovano ', num2str(pocet), ' snimku ze 128'];
        disp(pom);
    end
    
end
fclose(textak);