mne.events_from_annotations(raw, event_id='auto', regexp='^(?![Bb][Aa][Dd]|[Ee][Dd][Gg][Ee]).*$', use_rounding=True, chunk_duration=None, verbose=None)[source]

Get events and event_id from an Annotations object.

rawinstance of Raw

The raw data for which Annotations are defined.

event_iddict | callable() | None | ‘auto’

Can be:

  • dict: map descriptions (keys) to integer event codes (values). Only the descriptions present will be mapped, others will be ignored.

  • callable: must take a string input and returns an integer event code or None to ignore it.

  • None: Map descriptions to unique integer values based on their sorted order.

  • ‘auto’ (default): prefer a raw-format-specific parser:

    • Brainvision: map stimulus events to their integer part; response events to integer part + 1000; optic events to integer part + 2000; ‘SyncStatus/Sync On’ to 99998; ‘New Segment/’ to 99999; all others like None with an offset of 10000.

    • Other raw formats: Behaves like None.

    New in version 0.18.

regexpstr | None

Regular expression used to filter the annotations whose descriptions is a match. The default ignores descriptions beginning 'bad' or 'edge' (case-insensitive).

Changed in version 0.18: Default ignores bad and edge descriptions.


If True, use rounding (instead of truncation) when converting times to indices. This can help avoid non-unique indices.

chunk_duration: float | None

Chunk duration in seconds. If chunk_duration is set to None (default), generated events correspond to the annotation onsets. If not, mne.events_from_annotations() returns as many events as they fit within the annotation duration spaced according to chunk_duration. As a consequence annotations with duration shorter than chunk_duration will not contribute events.

verbosebool, str, int, or None

If not None, override default verbose level (see mne.verbose() and Logging documentation for more).

eventsndarray, shape (n_events, 3)

The events.


The event_id variable that can be passed to Epochs.