code: def test_svc_kernel_callable(get_mats, get_labels, metric):
      n_matrices, n_channels, n_classes = 6, 3, 2
      covmats = get_mats(n_matrices, n_channels, "spd")
      labels = get_labels(n_matrices, n_classes)
  
      rsvc = SVC(kernel_fct=kernel, metric=metric).fit(covmats, labels)
      rsvc_1 = SVC(metric=metric).fit(covmats, labels)
      p1 = rsvc.predict(covmats[:-1])
      p2 = rsvc_1.predict(covmats[:-1])
      assert np.array_equal(p1, p2)
  
      def custom_kernel(X, Y, Cref, metric):
          return np.ones((len(X), len(Y)))
  
      SVC(kernel_fct=custom_kernel, metric=metric).fit(
          covmats, labels
      ).predict(covmats[:-1])
  
      # check if pickleable
      pickle.dumps(rsvc)
      pickle.dumps(rsvc_1)
  
imports: import pickle
  import numpy
  from numpy.testing import assert_array_equal
  import pytest
  from pytest import approx
  from scipy.stats import mode
  from sklearn.dummy import DummyClassifier
  from conftest import get_distances, get_means, get_metrics
  from pyriemann.estimation import Covariances
  from pyriemann.utils.kernel import kernel
  from pyriemann.utils.mean import mean_covariance
  from pyriemann.classification import _mode_2d, MDM, FgMDM, KNearestNeighbor, TSclassifier, SVC, MeanField, class_distinctiveness
label_desc: Use image node_id 26 for calling a global function with example usage: test_svc_kernel_callable(get_mats, get_labels, metric) and returns: np