EEProbe is a Linux software package for EEG acquisition and analysis that was originally develloped at the Max Planck Institute in Leipzig, Germany (there known as EEP), and that is now further developed as a commercial product by ANT Software in Enschede, The Netherlands.
EEProbe stores its continuous data in a file with the extension *.cnt (not to be confused with the Neuroscan *.cnt format). The *.cnt file is a binary file and the data in it is compressed, which makes reading the data in your own software quite difficult. The file format for averaged ERPs (*.avr) is also binary, but not compressed. Furthermore there are files that contain event information such as triggers (*.trg), rejection marks (*.rej) and some others.
ANT has released a library with c-code (cntopenlib) to its customers, containing functions to read the header, the binary data and to decompress the data. I have used that library to make two mex files to import the binary data into Matlab, you can download those functions here. Furthermore, at the bottom of this page you can also download the source code of the mex files.
Note: since the release of EEProbe 3.2.4 in March 2004 the binary format of the *.avg files has been slightly changed (they now also contain history information). No new version of cntopenlib has yet been released, and therefore the mex function cannot always read the averages properly. You can use the “avrstrip” program from EEProbe to remove the history information, the resulting file can be read into Matlab.
Plain Matlab functions:
- read_eep_avr.m wrapper around mex function (includes the help)
- read_eep_cnt.m wrapper around mex function (includes the help)
- read_eep_trg.m read events from *.trg file
- read_eep_rej.m read rejection marks from *.rej file
Mex files for Mac OS X (created using Matlab 6.5):
Mex files for Solaris (created using Matlab 6.1):
Mex files for Linux (created using Matlab 6.1):
Mex files for Windows (created using Matlab 6.1):
Source code of the mex files, released under the BSD license:
Or you can download them all together in a single package here.
Hello,
It seems that the links of the linux mex.. files point to solaris version (xxx.mexsol verions).
At least the extension is not correct. Does not work on my linux computer.
Thanks anyway
Jean-Michel
Thanks for noting, they indeed pointed to the Solaris mex files (*.mexsol) instead of the linux ones (*.mexglx). I have fixed it.
best regards,
Robert
To compile the above code, you’ll also need the cntopenlib library from ANT. If you don’t have it, you can download it from ftp://ftp.fcdonders.nl/pub/fieldtrip/external/eeprobe.zip
The above link — broken, should be ftp://ftp.fcdonders.nl/pub/fieldtrip/external/eeprobe.zip — doesn’t contain cntopenlib needed for compiling.
thanks for notifying me, I have added the missing cntopenlib code to the zip file. You might want to ask ANT for the latest version of the code.
ANT has made their most recent version of cntopenlib available at SourceForge. Consequently, I have removed the external/eeprobe.zip file from my ftp server.
Please visit http://sourceforge.net/projects/libeep to get the code or contact ANT at http://www.ant-neuro.com/ant/contact.
How can I compile the functions in Matlab 64? I got libeep. When I try to compile I get:
Creating library C:…templib.x and object C:…templib.exp
read_eep_cnt.obj : error LNK2019: unresolved external symbol eep_free referenced in function mexFunction
….
and it complaing about other ‘unresolved external symbol’s
Dear Ondrej
I am not providing any additional support on the old code. Please contact ANT, the vendor of your EEG system, for support at http://www.ant-neuro.com/support.
Robert