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

idat2lastpara.m
function f=idat2lastpara(varargin)
%Rekonstruiert Param.dat aus ausgewerteten Knigstein-Dateien und trgt
%deren Werte in lastpara.config ein

if (nargin == 0 | ~isstr(varargin{1}))
        [fname,pname] = uigetfile({'*.*', 'Knigstein-ausgewertete Dateien (keine Endung)'},'Open Knigstein Output');
        if ~fname
            return
        end;
else %Stapelverarbeitung kommt noch...
    return
end
try 
    KO=load([pname fname],'-ascii'); %Datei + Pfad; KO=Knigstein-Output
catch
    disp('*******************E*R*R*O*R*****************************')
    disp('****Nur bereits aufbereiteten Knigstein-Output laden****')
    disp('****Datei darf nur Zahlen, keine Buchstaben enthalten****')
    return
end
%laden hat geklappt...
KO=KO(1:40);




%jetzt aus 'setupdefaultparameter.m'

parameter=[];

%***********************************************************************
%* stelle Parameter ein, diese beziehen sich auf eine Samplingrate von *
%* 1000 Hz und werden gegebenfalls an die tatschliche angepasst.      *
%***********************************************************************

    %=======================================================
    %= Parameter fr die Filterung                         =
    %=  s1 = Filterparameter des orginal Signals           =
    %=       fr die Feinauswertung                        =
    %=                                                     =
    %=  s2 = Filterparameter des gegltteten Signals       =                  
    %=       fr die Grobauswertung                        =
    %=======================================================               

     %parameter.filteralgo=@unifilter_fir;
     parameter.filteralgo=@unifilter_iir; %OK
     parameter.layoutgenerator=@createdefaultlayout; %OK
    
    %==================================    
    %=  s1 Feinsuche
    %==================================
     parameter.filter1(1).type='lowpass';  % Art des eingesetzten Filter (z.Z. mean,median,notch,lowpass,highpass)
     parameter.filter1(1).para=48;        %  lowpass filter 48 Hz (Butterworth)
     %OK
    %==================================    
    %=  s2 Grobsuche
    %==================================                                                      
      parameter.filter2(1).type='lowpass';  % Art des eingesetzten Filter (z.Z. mean,median,notch,lowpass,highpass)
      parameter.filter2(1).para=12;        % lowpass filter 8 Hz (Butterworth) RS: am 12.4.05 auf Werte aus 'setupdefaulparameter.m' gesetzt
      %parameter.filter2(1).type='none';
     %OK
                                
    %==================================    
    %=  Parameter fr die Grobsuche   =    
    %==================================                                                 
    parameter.grobsuche.plateaufenster=60;%OK RS: am 8.4.05 auf Werte aus 'setupdefaulparameter.m' gesetzt
    
    
    parameter.grobsuche.x.schwellwert=KO(21)/10; %%Hier steht das, was im dialog unter 'Noise X (Grob)' kommt 1.038
    parameter.grobsuche.x.maxspeedlowpass=2500; % in WG/s %OK
        
    parameter.grobsuche.y.schwellwert=KO(34)/10; %Hier steht das, was im dialog unter 'Noise Y (Grob)' kommt 0.97188
    parameter.grobsuche.y.maxspeedlowpass=2500; % in WG/s %OK
    
    
    parameter.grobsuche.blinksuchfenster=20; % ms Blinksuche %OK
    parameter.grobsuche.artefaktlaenge=100; %ms nach einem Artefakt %OK


    %==================================    
    %=  Parameter fr die Feinsuche   =    
    %==================================                                                     
    parameter.feinsuche.x.schwellwert=40; % in Winkelgrad/sec %OK
    parameter.feinsuche.y.schwellwert=40; % in Winkelgrad/sec %OK

    %==================================    
    %=  Parameter fr Plausibilitt   =    
    %==================================                                                 
    parameter.plausi.vereinigung=3;    % vereinigt sakkaden die weniger als 24 ms entfernt sind
    parameter.plausi.min_dauer=12;      % sakkaden min. Dauer sind 10 ms
    parameter.plausi.plateaudauer=10;   % 30 ms nach den Sakkadenende mu das Plateau verschoben bleiben
    
    
    
    %==================================    
    %=  Parameter fr Geschwindigkeit =    
    %==================================                                                     
    parameter.wfakt.x=((KO(20)/KO(7))/10)*(KO(18)/100); %OK %Faktor zur Umrechnung AD-Werte in Winkelgrad x-Kanal
    parameter.wfakt.y=((KO(32)/KO(33))/10)*(KO(8)/100);  %OK%Faktor zur Umrechnung AD-Werte in Winkelgrad y-Kanal     
    %RS: 14.4.05: KO(18): softgain horizontal, KO(8) softgain vertikal
    
    
    %==================================    
    %=  ReferenzBlink                 =    
    %==================================                                                         
    parameter.blinksoftening=0.5;  % Schwellwertaufweichung fr Blinkerkennung
    parameter.blinkamp=8; %Mindest-Blinkamplitude
    parameter.blinkamprage=50;  %Aufweichung in Prozent
    
    %==================================    
    %=  Reizerkennung                 =    
    %==================================                
    parameter.reizauswertung.xreiz=1600;
    parameter.reizauswertung.yreiz=1600;
    parameter.reizauswertung.xreizflg=true;
    parameter.reizauswertung.yreizflg=true;
   
   %aus loadIDATParam.m
    %case 8 % Reiz X
        %xreiz=str2double(l);
    %case 9 % Reiz Y
        %yreiz=str2double(l);
    
    xreiz=KO(20)/10; %gemss Galleys Tabelle
    yreiz=KO(32)/10; %gemss Galleys Tabelle
   
    parameter.reizx=xreiz;
    parameter.reizy=yreiz; 
    
    save('lastpara.config','parameter');
    disp(['lastpara.config (fr eogui) auf den Wert gesetzt von: ']);
    disp([pname fname])
    

Contact us