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

findBlinks.m
function blinks = findBlinks(speed,parameter)
% $Id: findBlinks.m 11 2004-12-16 13:44:46Z maik $
blinks=[];

% ------------- Konstanten start ----------------
delay=parameter.grobsuche.blinksuchfenster;   %(ms) maximale Verzgerung zwischen Ab und Aufbewegung
nicend=100; %(ms) nach besseren Blinkende suchen
% ------------- Konstanten ende -----------------


%suche alle Schwellwertberschreitungen im Speed
bereiche=findTreshold(speed,parameter.feinsuche.y.schwellwert*parameter.blinksoftening);  % nutze nur 1/2 des sakkaden schwellwertes, da stark geglttet

info=size(bereiche);
%durchlaufe und filtere
for i=2:info(1)
    brichtung1=bereiche(i-1,3);
    brichtung2=bereiche(i,3);   

    % kann es eine Lidaufwrtsbewegung sein ?
    % und kam Lidschluss direkt davor ?
    if (brichtung1==1)&& (brichtung2~=1)
            start1=bereiche(i-1,1);
            start2=bereiche(i,1);
            ende1=bereiche(i-1,2);            
            ende2=bereiche(i,2);
            speedpos1=bereiche(i-1,4); 
            speedpos2=bereiche(i,4); 
            
            if(start2-ende1>delay) % ist verzgerung ok?                
                continue;
            end
                        
            for x=1:nicend % suche besseres Ende durch neuen Richtungswechsel?
                if (speed(ende2+x)>0)||...
                        (speed(ende2+x-1)<speed(ende2+x))
                    ende2=ende2+x-1; %neuer Endzeitpunkt
                    break;
                end
            end
                                               
            % sichere Blink
            blinks=[blinks;[start1 ende1 start2 ende2 speedpos1 speedpos2]];
    end            
end







Contact us