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::
code: def __repr__(self):  # noqa: D105
      if hasattr(self, "filters_"):
          return "<EMS: fitted with %i filters on %i classes.>" % (
              len(self.filters_),
              len(self.classes_),
          )
      else:
          return "<EMS: not fitted.>"
  
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 1 for calling the EMS obj's underlying member method code with example usage: obj.__repr__() and returns: unknown, str