mne.read_annotations(fname, sfreq='auto', uint16_codec=None)[source]

Read annotations from a file.

This function reads a .fif, .fif.gz, .vmrk, .edf, .txt, .csv .cnt, .cef, or .set file and makes an mne.Annotations object.


The filename.

sfreqfloat | ‘auto’

The sampling frequency in the file. This parameter is necessary for *.vmrk and *.cef files as Annotations are expressed in seconds and *.vmrk/*.cef files are in samples. For any other file format, sfreq is omitted. If set to ‘auto’ then the sfreq is taken from the respective info file of the same name with according file extension (*.vhdr for brainvision; *.dap for Curry 7; *.cdt.dpa for Curry 8). So data.vmrk looks for sfreq in data.vhdr, data.cef looks in data.dap and data.cdt.cef looks in data.cdt.dpa.

uint16_codecstr | None

This parameter is only used in EEGLAB (*.set) and omitted otherwise. If your *.set file contains non-ascii characters, sometimes reading it may fail and give rise to error message stating that “buffer is too small”. uint16_codec allows to specify what codec (for example: ‘latin1’ or ‘utf-8’) should be used when reading character arrays and can therefore help you solve this problem.

annotinstance of Annotations | None

The annotations.


The annotations stored in a .csv require the onset columns to be timestamps. If you have onsets as floats (in seconds), you should use the .txt extension.

Examples using mne.read_annotations