class_docstr: Transformer to compute event-matched spatial filters.
  
  This version of EMS :footcite:`SchurgerEtAl2013` 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.
  
  .. note:: EMS only works for binary classification.
  
  Attributes
  ----------
  filters_ : ndarray, shape (n_channels, n_times)
      The set of spatial filters.
  classes_ : ndarray, shape (n_classes,)
      The target classes.
  
  References
  ----------
  .. footbibliography::
docstr: Transform the data by the spatial filters.
  
  Parameters
  ----------
  X : array, shape (n_epochs, n_channels, n_times)
      The input data.
  
  Returns
  -------
  X : array, shape (n_epochs, n_times)
      The input data transformed by the spatial filters.
docstr_tok: ["Transform","the","data","by","the","spatial","filters",".","Parameters","--","--","--","--","--","X",":","array",",","shape","(","n_epochs",",","n_channels",",","n_times",")","The","input","data",".","Returns","--","--","--","-","X",":","array",",","shape","(","n_epochs",",","n_times",")","The","input","data","transformed","by","the","spatial","filters","."]
code: def transform(self, X):
      """Transform the data by the spatial filters.
  
      Parameters
      ----------
      X : array, shape (n_epochs, n_channels, n_times)
          The input data.
  
      Returns
      -------
      X : array, shape (n_epochs, n_times)
          The input data transformed by the spatial filters.
      """
      Xt = np.sum(X * self.filters_, axis=1)
      return Xt
  
file_path: mne-python/mne/decoding/ems.py
imports: from collections import Counter
  import numpy
  from .._fiff.pick import _picks_to_idx, pick_info, pick_types
  from ..parallel import parallel_func
  from ..utils import logger, verbose
  from .base import _set_cv
  from .mixin import EstimatorMixin, TransformerMixin
label_desc: Use image node_id 3 for calling the EMS obj's underlying member method code with example usage: obj.transform(X) and returns: Xt