function Prohlizec()    % hlavní funkce 

    close all;
    clear global;       % vyčištění paměti od globálních proměnných 

    ScreenSize = get(0, 'ScreenSize');  % zisk parametrů obrazovky pro určení velikosta okna

    figure('NumberTitle', 'off',...                 
           'Name', 'Prohlížeč obrázků',...
           'Resize', 'off',...
           'Position', [(1 / 6) * ScreenSize(3) (1 / 10) * ScreenSize(4) (1 / 4) * ScreenSize(3) (40 / 100) * ScreenSize(3)],...
           'CloseRequestFcn', @Konec,...
           'KeyPressFcn', {@Posun, 0});         % vytvoření uživatelského rozhraní s implementovanými funkcemi pro posun obrázků a zavření okna
       
    delete(findall(gcf, 'Type', 'UIMenu'));     % vymazání všech grafických objektů
    
    %% Panely
    
    OptionPanelHandle = uipanel('BackgroundColor', get(gcf, 'Color'),...
                                'Tag', 'VolbaPanel',...
                                'Units', 'pixels',...
                                'Parent', gcf,...
                                'Title', 'Volba dat',...
                                'Position', [(2 / 200) * ScreenSize(3) (34 / 100) * ScreenSize(3) (7 / 30) * ScreenSize(3) (5 / 100) * ScreenSize(3)]); % parametrické vytvoření panelu pro výběr sekvence a fantomu
        
    ImagePanelHandle = uipanel('BackgroundColor', get(gcf, 'Color'),...
                               'Tag', 'ObrazPanel',...
                               'Units', 'pixels',...
                               'Parent', gcf,...
                               'Title', 'Obraz',...
                               'Position', [(2 / 200) * ScreenSize(3) (8 / 100) * ScreenSize(3) (7 / 30) * ScreenSize(3) (51 /200) * ScreenSize(3)]); % parametrické vytvoření panelu pro vyobrazení obrázku
     
    InfoPanelHandle = uipanel('BackgroundColor', get(gcf, 'Color'),...
                              'Tag', 'InfoPanel',...
                              'Units', 'pixels',...
                              'Parent', gcf,...
                              'Title', 'Informace',...
                              'Position', [(2 / 200) * ScreenSize(3) (3 / 200) * ScreenSize(3) (7 / 30) * ScreenSize(3) (6 / 100) * ScreenSize(3)]); % parametrické vytvoření panelu pro výpis akvizičních parametrů
    
    %% Volba obrazu
     
    Data = dir();                               % načtení složky s uloženými obrázky
    Sequences = {Data([Data.isdir]).name};      % vytvoření proměnnné sequences pro názvy sekvencí
     
    uicontrol('Style', 'text',...
              'Tag', 'SequencesText',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', 'Sekvence:',...
              'HorizontalAlignment', 'left',...
              'Parent', OptionPanelHandle,...
              'Position', [(1 / 60) * ScreenSize(3) (1 / 50) * ScreenSize(3) (1 / 12) * ScreenSize(3) (1 / 90) * ScreenSize(3)]); 
     
    SequencesPopupHandle = uicontrol('Style', 'popupmenu',...
                                     'Tag', 'SequencesPopup',...
                                     'Units', 'pixels',...
                                     'String', Sequences(3:end),...
                                     'Parent', OptionPanelHandle,...
                                     'Position', [(1 / 60) * ScreenSize(3) (0 / 1) * ScreenSize(3) (1 / 12) * ScreenSize(3) (1 / 50) * ScreenSize(3)],...
                                     'Callback', @VyberSekvence);           % parametrické vytvoření popupmenu pro výběr sekvence
          
     uicontrol('Style', 'text',...
              'Tag', 'PhantomsText',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', 'Fantom:',...
              'HorizontalAlignment', 'left',...
              'Parent', OptionPanelHandle,...
              'Position', [(8 / 60) * ScreenSize(3) (1 / 50) * ScreenSize(3) (1 / 12) * ScreenSize(3) (1 / 90) * ScreenSize(3)]);
     
    uicontrol('Style', 'popupmenu',...
              'Tag', 'PhantomsPopup',...
              'Units', 'pixels',...
              'String', {''},...
              'Parent', OptionPanelHandle,...
              'Position', [(8 / 60) * ScreenSize(3) (0 / 1) * ScreenSize(3) (1 / 12) * ScreenSize(3) (1 / 50) * ScreenSize(3)],...
              'Callback', @VyberFantomu);           % parametrické vytvoření popupmenu pro výběr fantomu
        
    %% Obraz
        
    axes('Parent', ImagePanelHandle,...
         'Units', 'pixels',...
         'XTickLabel', '',...
         'YTickLabel', '',...
         'Position', [(1 / 60) * ScreenSize(3) (4 / 100) * ScreenSize(3) (1 / 5) * ScreenSize(3) (1 / 5) * ScreenSize(3)]);  % vyobrazení
          
    %% Posun obrazu 
     
    uicontrol('Style', 'pushbutton',...
              'Tag', 'PreviousButton',...
              'Units', 'pixels',...
              'String', 'Předchozí snímek',...
              'Parent', ImagePanelHandle,...
              'Position', [(1 / 60) * ScreenSize(3) (1 / 100) * ScreenSize(3) (1 / 15) * ScreenSize(3) (1 / 50) * ScreenSize(3)],...
              'Callback', {@Posun, -1});    % vytvoření tlačítka pro překlikávání obrázku zpět
          
    uicontrol('Style', 'pushbutton',...
              'Tag', 'NextButton',...
              'Units', 'pixels',...
              'String', 'Další snímek',...
              'Parent', ImagePanelHandle,...
              'Position', [(9 / 60) * ScreenSize(3) (1 / 100) * ScreenSize(3) (1 / 15) * ScreenSize(3) (1 / 50) * ScreenSize(3)],...
              'Callback', {@Posun, 1});     % vytvoření tlačítka pro překlikávání obrázku vpřed
          
    %% Informace o obrazu
    % Popisky
    
    uicontrol('Style', 'text',...
              'Tag', 'TRText',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', 'TR [ms]:',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(1 / 200) * ScreenSize(3) (1 / 30) * ScreenSize(3) (1 / 37) * ScreenSize(3) (1 / 90) * ScreenSize(3)]);  % vytvoření textového pole pro výpis parametru TR
          
    uicontrol('Style', 'text',...
              'Tag', 'TEText',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', 'TE [ms]:',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(1 / 200) * ScreenSize(3) (1 / 52) * ScreenSize(3) (1 / 37) * ScreenSize(3) (1 / 90) * ScreenSize(3)]);  % vytvoření textového pole pro výpis parametru TE
          
    uicontrol('Style', 'text',...
              'Tag', 'FAText',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', 'FA [°]:',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(1 / 200) * ScreenSize(3) (1 / 200) * ScreenSize(3) (1 / 37) * ScreenSize(3) (1 / 90) * ScreenSize(3)]);  % vytvoření textového pole pro výpis parametru FA
          
    uicontrol('Style', 'text',...
              'Tag', 'STText',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', 'ST [mm]:',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(1 / 13) * ScreenSize(3) (1 / 30) * ScreenSize(3) (1 / 31) * ScreenSize(3) (1 / 90) * ScreenSize(3)]);   % vytvoření textového pole pro výpis parametru ST
          
    uicontrol('Style', 'text',...
              'Tag', 'FOVText',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', 'FOV [cm]:',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(1 / 13) * ScreenSize(3) (1 / 52) * ScreenSize(3) (1 / 31) * ScreenSize(3) (1 / 90) * ScreenSize(3)]);   % vytvoření textového pole pro výpis parametru FOV
          
    uicontrol('Style', 'text',...
              'Tag', 'SliceText',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', 'Slice:',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(1 / 13) * ScreenSize(3) (1 / 200) * ScreenSize(3) (1 / 31) * ScreenSize(3) (1 / 90) * ScreenSize(3)]);   % vytvoření textového pole pro výpis parametru Slice
          
    uicontrol('Style', 'text',...
              'Tag', 'EchoText',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', 'Echo:',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(10 / 65) * ScreenSize(3) (1 / 30) * ScreenSize(3) (1 / 23) * ScreenSize(3) (1 / 90) * ScreenSize(3)]);   % vytvoření textového pole pro výpis parametru Echo
          
    uicontrol('Style', 'text',...
              'Tag', 'AverageText',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', 'Průměrování:',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(10 / 65) * ScreenSize(3) (1 / 52) * ScreenSize(3) (1 / 23) * ScreenSize(3) (1 / 90) * ScreenSize(3)]);   % vytvoření textového pole pro výpis parametru average (průměrování)
          
    uicontrol('Style', 'text',...
              'Tag', 'IDText',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', 'Pořadové č.:',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(10 / 65) * ScreenSize(3) (1 / 200) * ScreenSize(3) (1 / 23) * ScreenSize(3) (1 / 90) * ScreenSize(3)]);   % vytvoření textového pole pro výpis parametru ID
          
    %% Hodnoty
          
    uicontrol('Style', 'text',...
              'Tag', 'TRValue',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', '',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(1 / 30) * ScreenSize(3) (1 / 30) * ScreenSize(3) (1 / 30) * ScreenSize(3) (1 / 90) * ScreenSize(3)]);   % výpis hodnoty parametru TR do textového pole
          
    uicontrol('Style', 'text',...
              'Tag', 'TEValue',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', '',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(1 / 30) * ScreenSize(3) (1 / 52) * ScreenSize(3) (1 / 30) * ScreenSize(3) (1 / 90) * ScreenSize(3)]); % výpis hodnoty parametru TE do textového pole
          
    uicontrol('Style', 'text',...
              'Tag', 'FAValue',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', '',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(1 / 30) * ScreenSize(3) (1 / 200) * ScreenSize(3) (1 / 30) * ScreenSize(3) (1 / 90) * ScreenSize(3)]); % výpis hodnoty parametru FA do textového pole
          
    uicontrol('Style', 'text',...
              'Tag', 'STValue',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', '',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(1 / 9) * ScreenSize(3) (1 / 30) * ScreenSize(3) (1 / 31) * ScreenSize(3) (1 / 90) * ScreenSize(3)]); % výpis hodnoty parametru ST do textového pole
          
    uicontrol('Style', 'text',...
              'Tag', 'FOVValue',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', '',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(1 / 9) * ScreenSize(3) (1 / 52) * ScreenSize(3) (1 / 31) * ScreenSize(3) (1 / 90) * ScreenSize(3)]); % výpis hodnoty parametru FOV do textového pole
          
    uicontrol('Style', 'text',...
              'Tag', 'SliceValue',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', '',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(1 / 9) * ScreenSize(3) (1 / 200) * ScreenSize(3) (1 / 31) * ScreenSize(3) (1 / 90) * ScreenSize(3)]);  % výpis hodnoty parametru slice do textového pole
          
    uicontrol('Style', 'text',...
              'Tag', 'EchoValue',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', '',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(100 / 502) * ScreenSize(3) (1 / 30) * ScreenSize(3) (1 / 40) * ScreenSize(3) (1 / 90) * ScreenSize(3)]); % výpis hodnoty parametru echo do textového pole
          
    uicontrol('Style', 'text',...
              'Tag', 'AverageValue',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', '',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(100 / 502) * ScreenSize(3) (1 / 52) * ScreenSize(3) (1 / 40) * ScreenSize(3) (1 / 90) * ScreenSize(3)]); % výpis hodnoty parametru average (průměrování) do textového pole
          
    uicontrol('Style', 'text',...
              'Tag', 'IDValue',...
              'BackgroundColor', get(gcf, 'Color'),...
              'Units', 'pixels',...
              'String', '',...
              'HorizontalAlignment', 'left',...
              'Parent', InfoPanelHandle,...
              'Position', [(100 / 502) * ScreenSize(3) (1 / 200) * ScreenSize(3) (1 / 40) * ScreenSize(3) (1 / 90) * ScreenSize(3)]); % výpis hodnoty parametru ID do textového pole
     
    NacteniDat();      % volání funkce načtení dat
    VyberSekvence(SequencesPopupHandle);       % volání funkce vyběr sekvence se vstupem výběru z popupmenu
end
function Konec(varargin)    % funkce pro zavření GUI
    
    clear global;           % vyčištění globálních proměnných
    delete(varargin{1});    % smazání vstupních argumentů
end