class_docstr: Estimation of covariance matrix with time delayed Hankel matrices.
  
  Hankel covariance matrices [1]_ are useful to catch spectral dynamics of
  the signal, similarly to the CSSP method [2]_. It is done by concatenating
  time delayed version of the signal before covariance estimation.
  
  Parameters
  ----------
  delays : int | list of int, default=4
      The delays to apply for the Hankel matrices. If `int`, it use a range
      of delays up to the given value. A list of int can be given.
  estimator : string, default='scm'
      Covariance matrix estimator, see
      :func:`pyriemann.utils.covariance.covariances`.
  **kwds : dict
      Any further parameters are passed directly to the covariance estimator.
  
  See Also
  --------
  Covariances
  ERPCovariances
  CospCovariances
  
  References
  ----------
  .. [1] https://en.wikipedia.org/wiki/Hankel_matrix
  .. [2] `Spatio-spectral filters for improving the classification of single
      trial EEG
      <http://doc.ml.tu-berlin.de/bbci/publications/LemBlaCurMue05.pdf>`_
      S. Lemm, B. Blankertz, B. Curio, K-R. Muller. IEEE Transactions on
      Biomedical Engineering 52(9), 1541-1548, 2005.
docstr: Estimate the Hankel covariance matrices.
  
  Parameters
  ----------
  X : ndarray, shape (n_matrices, n_channels, n_times)
      Multi-channel time-series.
  
  Returns
  -------
  covmats : ndarray, shape (n_matrices, n_delays x n_channels,                 n_delays x n_channels)
      Hankel covariance matrices, where n_delays is equal to `delays`
      when it is a int, and to `1 + len(delays)` when it is a list.
docstr_tok: ["Estimate","the","Hankel","covariance","matrices",".","Parameters","--","--","--","--","--","X",":","ndarray",",","shape","(","n_matrices",",","n_channels",",","n_times",")","Multi-channel","time-series",".","Returns","--","--","--","-","covmats",":","ndarray",",","shape","(","n_matrices",",","n_delays","x","n_channels",",","n_delays","x","n_channels",")","Hankel","covariance","matrices",",","where","n_delays","is","equal","to","`","delays","`","when","it","is","a","int",",","and","to","`","1","+","len","(","delays",")","`","when","it","is","a","list","."]
code: def transform(self, X):
      """Estimate the Hankel covariance matrices.
  
          Parameters
          ----------
          X : ndarray, shape (n_matrices, n_channels, n_times)
              Multi-channel time-series.
  
          Returns
          -------
          covmats : ndarray, shape (n_matrices, n_delays x n_channels, \
                  n_delays x n_channels)
              Hankel covariance matrices, where n_delays is equal to `delays`
              when it is a int, and to `1 + len(delays)` when it is a list.
          """
  
      if isinstance(self.delays, int):
          delays = range(1, self.delays)
      elif isinstance(self.delays, list):
          delays = self.delays
      else:
          raise ValueError("delays must be an integer or a list")
  
      X2 = []
      for x in X:
          tmp = x
          for d in delays:
              tmp = np.r_[tmp, np.roll(x, d, axis=-1)]
          X2.append(tmp)
      X2 = np.array(X2)
      covmats = covariances(X2, estimator=self.estimator, **self.kwds)
      return covmats
  
imports: import numpy
  from sklearn.base import BaseEstimator, TransformerMixin
  from sklearn.covariance import shrunk_covariance
  from sklearn.metrics.pairwise import pairwise_kernels
  from .spatialfilters import Xdawn
  from .utils.covariance import covariances, covariances_EP, cospectrum, coherence, block_covariances
label_desc: Use image node_id 3 for calling the HankelCovariances obj's underlying member method code with example usage: obj.transform(X) and returns: covmats