code: def clf_fit_transform(self, tspace, covmats, labels):
      n_matrices, n_channels, n_channels = covmats.shape
      ts = tspace()
      Xtr = ts.fit_transform(covmats, labels)
      if tspace is TangentSpace:
          n_ts = (n_channels * (n_channels + 1)) // 2
          assert Xtr.shape == (n_matrices, n_ts)
      else:
          assert Xtr.shape == (n_matrices, n_channels, n_channels)
  
file_path: pyRiemann/tests/test_tangentspace.py
imports: from conftest import get_metrics
  import numpy
  from pyriemann.tangentspace import TangentSpace, FGDA
  import pytest
  from pytest import approx
label_desc: Use image node_id 2 for calling the TestTangentSpace obj's underlying member method code with example usage: obj.clf_fit_transform(tspace, covmats, labels) without return types