This is a modification of the File Exchange submission "edfread" for importing an EDF file into MATLAB. I removed a few options which enable import of large files to occur much, much faster in the case of 1-sample records or records containing all of the samples at once.
[hdr, dataMat] = edfread2(fname)
Reads data from ALL RECORDS of file fname ('*.edf'). Header information is returned in structure hdr, and the signals (waveforms) are returned in dataMat, which is either a (samples x channels) matrix, or a (1 x channels) cell array full of (samples x 1) arrays IF there are different numbers of samples in each channel.
Matt Fifer (2021). edfread2 (https://www.mathworks.com/matlabcentral/fileexchange/47123-edfread2), MATLAB Central File Exchange. Retrieved .
Inspired by: edfRead
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Create scripts with code, output, and formatted text in a single executable document.
Hi Matt,
same error as Fasil. Could you please comment?
thanks
Hai Matt
I got an error in the following line
writeIndices{chans} = writeIndices{chans} + hdr.samples
Error using +
Matrix dimensions must agree.
Hi Matt
I met the error as follows:
Subscript indices must either be real positive integers or logicals.
Error in edfread (line 122)
hdr.label{ii} = regexprep(fread(fid,32,'*char')','\W','');
I record the EDF file with Eyelink, a eye tracing system.
Do you have any solution?