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

lastpara2txt.m
function f = lastpara2txt(varargin)
% schreibt Einstellungen aus der Datei lastpara.config in eine Textdatei
% lastpara.txt, die am gleichen Ort wie die lastpara.config abgelegt wird
% Existieren mehr als 1 lastpara.config in den Ordnern der
% MATLAB-Suchpfade, wird fr jede lastpara.config 
% 1 lastpara.txt am entsprechenden Ort abgelegt
% Gibt es bereits eine lastpara.txt, werden die aktuellen Einstellungen 
% als neue Zeile in diese eingetragen
% Aufrufe:
% lastpara2txt() nutzt alle im MATLAB-Suchpfad vorhandenen lastpara.config 
% lastpara2txt(DATEI) nutzt nur die angegebene Datei (Pfad+Datei in Hochkommata!) 

if (nargin == 0 | ~isstr(varargin{1})) %keine Datei angegeben, daher nach lastpara.config-Dateien suchen:
[s, w] = dos(['dir /s /b ' 'lastpara.config']); %s gibt nur den Status an
colon= strfind(w,':'); %sucht alle Doppelpunkte in Pfadangeben: jedesmal ein neuer Pfad
if size(colon,2)>1 %falls in colon mehr als 1 Eintrag...
    disp('Achtung: mehr als 1 lastpara.config im MATLAB-Suchpfad:')
end;
    for i=1:size(colon,2) %jetzt Pfade einzeln abspeichern        
        [temp,w]=strtok(w);% strtok gibt jedesmal einen Pfad (=chars bist zum ersten token) zurck, w wird gekrzt
        disp(temp)
        files{i}=temp;
    end
else %Zieldatei angegeben...
    files{1}=varargin{1};
end
disp('Folgende txt-Dateien geschrieben:')
for i=1:size(files,2)
    writeparameters(files{i}) %geschweifte Klammer, sonst wir cell, nicht string zurckgegeben
end


function f2=writeparameters(inputfile)
load(inputfile,'-mat');
    if (~exist('parameter','var')|~isstruct(parameter))
        disp([inputfile 'hat ungltiges Format'])
        return
    end
 outputfile=[inputfile(1:end-6) 'txt'];
 temp=exist(outputfile,'file');
 fid=fopen(outputfile,'a'); %damit vorherige Eintrge nicht verloren gehen;
 if ~(temp==2) %Variablennamen nur schreiben, wenn Datei bisher nicht existierte
    fprintf(fid,'f1type\t'); %=parameter.filter1.type
    fprintf(fid,'f1para\t'); %=parameter.filter1.para
    fprintf(fid,'f2type\t'); %=parameter.filter2.type
    fprintf(fid,'f2para\t'); %=parameter.filter2.para
    fprintf(fid,'plateau\t'); %=parameter.grobsuche.plateaufenster
    fprintf(fid,'noiseX\t'); %=parameter.grobsuche.x.schwellwert
    fprintf(fid,'Xmxsplp\t'); %=parameter.grobsuche.x.maxspeedlowpass
    fprintf(fid,'noiseY\t'); %=parameter.grobsuche.y.schwellwert
    fprintf(fid,'Ymxsplp\t'); %=parameter.grobsuche.y.maxspeedlowpass
    fprintf(fid,'window\t'); %=parameter.grobsuche.blinksuchfenster
    fprintf(fid,'artefakt\t'); %=parameter.grobsuche.artefaktlaenge
    fprintf(fid,'speedX\t'); %=parameter.feinsuche.x.schwellwert
    fprintf(fid,'speedY\t'); %=parameter.feinsuche.y.schwellwert
    fprintf(fid,'plausi1\t'); %=parameter.plausi.vereinigung
    fprintf(fid,'plausi2\t'); %=parameter.plausi.min_dauer
    fprintf(fid,'plausi3\t'); %=parameter.plausi.plateaudauer
    fprintf(fid,'AD2WGX\t'); %=parameter.wfakt.x
    fprintf(fid,'AD2WGY\t'); %=parameter.wfakt.y
    fprintf(fid,'B_soften\t'); %=parameter.blinksoftening
    fprintf(fid,'B_minamp\t'); %=parameter.blinkamp
    fprintf(fid,'B_range\t'); %=parameter.blinkamprage
    fprintf(fid,'Xreiz\t'); %=parameter.reizauswertung.xreiz
    fprintf(fid,'Yreiz\t'); %=parameter.reizauswertung.Yreiz
    fprintf(fid,'Xreiz2\t'); %=parameter.reizauswertung.xreizflg
    fprintf(fid,'Yreiz2\t'); %=parameter.reizauswertung.yreizflg
    fprintf(fid,'reizX3\t'); %=parameter.reizx
    fprintf(fid,'reizY3\t'); %=parameter.reizy
 end
 fprintf(fid,'\r\n');%Zeilenumbruch auch in Notepad: Carriage retun + new line
 fprintf(fid,'%s\t',parameter.filter1.type); %jetzt erst Werte
 fprintf(fid,'%g\t',parameter.filter1.para);
 fprintf(fid,'%s\t',parameter.filter2.type);
 fprintf(fid,'%g\t',parameter.filter2.para);
 fprintf(fid,'%g\t',parameter.grobsuche.plateaufenster);
 fprintf(fid,'%g\t',parameter.grobsuche.x.schwellwert);
 fprintf(fid,'%g\t',parameter.grobsuche.x.maxspeedlowpass);
 fprintf(fid,'%g\t',parameter.grobsuche.y.schwellwert);
 fprintf(fid,'%g\t',parameter.grobsuche.y.maxspeedlowpass);
 fprintf(fid,'%g\t',parameter.grobsuche.blinksuchfenster);
 fprintf(fid,'%g\t',parameter.grobsuche.artefaktlaenge);
 fprintf(fid,'%g\t',parameter.feinsuche.x.schwellwert);
 fprintf(fid,'%g\t',parameter.feinsuche.y.schwellwert);
 fprintf(fid,'%g\t',parameter.plausi.vereinigung);
 fprintf(fid,'%g\t',parameter.plausi.min_dauer);
 fprintf(fid,'%g\t',parameter.plausi.plateaudauer);
 fprintf(fid,'%g\t',parameter.wfakt.x);
 fprintf(fid,'%g\t',parameter.wfakt.y);
 fprintf(fid,'%g\t',parameter.blinksoftening);
 fprintf(fid,'%g\t',parameter.blinkamp);
 fprintf(fid,'%g\t',parameter.blinkamprage); %Rechtschreibfehler im Quellcode!
 fprintf(fid,'%g\t',parameter.reizauswertung.xreiz);
 fprintf(fid,'%g\t',parameter.reizauswertung.yreiz);
 fprintf(fid,'%g\t',parameter.reizauswertung.xreizflg);
 fprintf(fid,'%g\t',parameter.reizauswertung.yreizflg);
 fprintf(fid,'%g\t',parameter.reizx);
 fprintf(fid,'%g\t',parameter.reizy);
 disp(outputfile)
 
fclose(fid);

Contact us