code: def test_covariance_scm_complex(rndstate):
      """Test correctness of decorator for complex estimator on complex data"""
      n_matrices, n_channels, n_times = 4, 3, 60
      x = rndstate.randn(
          n_matrices, n_channels, n_times
      ) + 1j * rndstate.randn(n_matrices, n_channels, n_times)
  
      cov = covariances(x, estimator="scm", assume_centered=True)
  
      @_complex_estimator
      def complex_scm_sklearn(x):
          return empirical_covariance(x.T, assume_centered=True)
  
      cov_decorator = np.asarray([complex_scm_sklearn(x_) for x_ in x])
      assert_array_almost_equal(cov, cov_decorator, 10)
  
imports: from numpy.testing import assert_array_almost_equal
  import numpy
  from scipy.linalg import block_diag
  from scipy.signal import welch, csd, coherence
  from sklearn.covariance import empirical_covariance
  import pytest
  from pyriemann.utils.covariance import covariances, covariances_EP, covariances_X, eegtocov, cross_spectrum, cospectrum, coherence, normalize, get_nondiag_weight, block_covariances, _complex_estimator
  from pyriemann.utils.test import is_real, is_hermitian, is_sym_pos_def, is_herm_pos_def
label_desc: Use image node_id 3 for calling a global function with example usage: test_covariance_scm_complex(rndstate) and returns: empirical_covariance