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 | 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.