
%%
%
% Diplomova prace 
% Martin Krupicka
% FEL CVUT
% leden 2017
%
% Skript zjistujici rozliseni a dynamicky rozsah vstupnich obrazku.
% 
% Jak teoreticka, tak prakticka cast teto prace 
% vychazi z materialu vypracovanych v ramci magisterskeho
% predmetu Projekt individualni (A2M37IND) [1].
%
%% 

close all;
clear all;
clc;

% nastaveni rozsahu poradovych cisel obrazku (index cisla v nazvu)
% Pokud nastavime stejne cislo v obou promennych, zpracuje cyklus jen jeden
% soubor. Jinak lze vice souboru najednou, pokud maji poradova cisla
% presne za sebou.
pocatecni_soubor = 1;
koncovy_soubor = 2;

% zjisteni poctu zpracovavanych souboru
pocet_souboru = koncovy_soubor - pocatecni_soubor + 1;

rozliseni_a_rozsah = zeros(pocet_souboru, 6); % inicializace tabulky pro vybrane charakteristiky
% do tabulky se ukladaji hodnoty dynamickeho rozsahu zjistene pomoci funkce DynamicRange.m,
% jedna dopoctena a take zjistene rozliseni snimku

for s=pocatecni_soubor:koncovy_soubor
    
    img = hdrimread(['in' int2str(s) '_HDR.pfm']);
    
    % zjisteni rozliseni obrazu
    [vyska, sirka, dimenze] = size(img);
    
    % zjisteni dynamickeho rozsahu
    [dyn, dynClassicLog, dynClassic] = DynamicRange(img);
    
    % zjisteni hodnoty dynamickeho rozsahu v f-stops
    dyn_fstops = log2(10^dyn);
    
    rozliseni_a_rozsah(s,1) = vyska;
    rozliseni_a_rozsah(s,2) = sirka;
    rozliseni_a_rozsah(s,3) = dyn;
    rozliseni_a_rozsah(s,4) = dyn_fstops;
    rozliseni_a_rozsah(s,5) = dynClassic;
    rozliseni_a_rozsah(s,6) = dynClassicLog;
        
end

save('rozliseni_a_rozsah_PFM.mat','rozliseni_a_rozsah') % ulozeni do MAT formatu







