mne.preprocessing.find_eog_events(raw, event_id=998, l_freq=1, h_freq=10, filter_length='10s', ch_name=None, tstart=0, reject_by_annotation=False, thresh=None, verbose=None)[source]

Locate EOG artifacts.


To control true-positive and true-negative detection rates, you may adjust the thresh parameter.

rawinstance of Raw

The raw data.


The index to assign to found events.


Low cut-off frequency to apply to the EOG channel in Hz.


High cut-off frequency to apply to the EOG channel in Hz.

filter_lengthstr | int | None

Number of taps to use for filtering.

ch_namestr | list of str | None

The name of the channel(s) to use for EOG peak detection. If a string, can be an arbitrary channel. This doesn’t have to be a channel of eog type; it could, for example, also be an ordinary EEG channel that was placed close to the eyes, like Fp1 or Fp2.

Multiple channel names can be passed as a list of strings.

If None (default), use the channel(s) in raw with type eog.


Start detection after tstart seconds.


Whether to omit data that is annotated as bad.

threshfloat | None

Threshold to trigger the detection of an EOG event. This controls the thresholding of the underlying peak-finding algorithm. Larger values mean that fewer peaks (i.e., fewer EOG events) will be detected. If None, use the default of (max(eog) - min(eog)) / 4, with eog being the filtered EOG signal.

verbosebool, str, int, or None

If not None, override default verbose level (see mne.verbose() and Logging documentation for more). If used, it should be passed as a keyword-argument only.