image thumbnail

eogui – a software to analyze electro-oculogram (EOG) recordings

by

 

10 Aug 2011 (Updated )

detects blinks and saccadic eye movements in EOG recordings

uisubp.m
function ret=uisubp(parameter,varargin)
% $Id: uisubp.m 6 2004-12-13 12:28:39Z maik $
% subplot in einem UI

% erzeugt an der Position eines bel. Elements n Koordinatensysteme
%     uisubp('init',handle,n,[hspace]);
%         init = erzeugt das objekt
%         handle = handle des Vaterobjekts fr Dimension
%         n = Anzahl der Koordinatensysteme
%         hspace = Raum zwischen den Koordinatensystemen in Prozent
%        
%     uisubp('remove',handle);
%           entfernt es wieder
%           
%     uisubp('select',handle,n);          
%           whlt Koordinatensystem fr plot aus
%           Rckgabe, das Handle des aktuellen Koord.
%        

h=varargin{1};    %Handle des Hintergrundobjekts
figure(get(h,'Parent'));
switch(parameter)    
    case 'init'
        count=varargin{2};          %Anzahl Koordinatensysteme
        
        %1 mache Hintergrundobjekt unsichtbar, sicher alten status
        setappdata(h,'uisubp_savevis',get(h,'visible'));
        set(h,'visible','off');
        
        hspace=8;  % in Prozent, der Komplettanzeige
        if(nargin>3)
            hspace=varargin{3};
        end
            
            
        axlist=[]; % Liste der ...
        
        mainpos=get(h,'position');
        units=get(h,'Units');
        

        space=mainpos(4)*hspace/100; % Rechne Freiraum um
        height=(mainpos(4)-(space*(count-1)))/count; % hhe eines Elements

        % erzeuge Axes
        aktpos=mainpos;
        aktpos(4)=height;
                
        for i=1:count                                 
           hx=axes('Units',units,'position',aktpos);
           axlist=[hx axlist];
           aktpos(2)=aktpos(2)+height+space; 
        end        
        
        % speichere handles, fr spteren zugriff
        setappdata(h,'uisubp_alist',axlist);
        
    case 'remove'
        % entferne alle axes        
        axlist=getappdata(h,'uisubp_alist');
        for(i=1:length(axlist))
            delete(axlist(i));
        end
        rmappdata(h,'uisubp_alist');
        
        % stelle Hintergrund wieder her
        set(h,'visible',getappdata(h,'uisubp_savevis'));        
        rmappdata(h,'uisubp_savevis');
        
        
        
    case 'select'
        axlist=getappdata(h,'uisubp_alist');
        axes(axlist(varargin{2}));
        ret=axlist(varargin{2});            
end

Contact us