mne.decoding.compute_ems(epochs, conditions=None, picks=None, n_jobs=1, verbose=None, cv=None)[source]

Compute event-matched spatial filter on epochs.

This version of EMS [R39] operates on the entire time course. No time window needs to be specified. The result is a spatial filter at each time point and a corresponding time course. Intuitively, the result gives the similarity between the filter at each time point and the data vector (sensors) at that time point.


epochs : instance of mne.Epochs

The epochs.

conditions : list of str | None, defaults to None

If a list of strings, strings must match the epochs.event_id’s key as well as the number of conditions supported by the objective_function. If None keys in epochs.event_id are used.

picks : array-like of int | None, defaults to None

Channels to be included. If None only good data channels are used.

n_jobs : int, defaults to 1

Number of jobs to run in parallel.

verbose : bool, str, int, or None, defaults to self.verbose

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

cv : cross-validation object | str | None, defaults to LeaveOneOut

The cross-validation scheme.


surrogate_trials : ndarray, shape (n_trials // 2, n_times)

The trial surrogates.

mean_spatial_filter : ndarray, shape (n_channels, n_times)

The set of spatial filters.

conditions : ndarray, shape (n_classes,)

The conditions used. Values correspond to original event ids.


[R39](1, 2) Aaron Schurger, Sebastien Marti, and Stanislas Dehaene, “Reducing multi-sensor data to a single time course that reveals experimental effects”, BMC Neuroscience 2013, 14:122

Examples using mne.decoding.compute_ems