code: def sandwich_data():
      # number of distinct classes
      num_classes = 6
      # number of points per class
      num_points = 9
      # distance between layers, the points of each class are in a layer
      dist = 0.7
  
      data = np.zeros((num_classes, num_points, 2), dtype=float)
      labels = np.zeros((num_classes, num_points), dtype=int)
  
      x_centers = np.arange(num_points, dtype=float) - num_points / 2
      y_centers = dist * (
          np.arange(num_classes, dtype=float) - num_classes / 2
      )
      for i, yc in enumerate(y_centers):
          for k, xc in enumerate(x_centers):
              data[i, k, 0] = np.random.normal(xc, 0.1)
              data[i, k, 1] = np.random.normal(yc, 0.1)
          labels[i, :] = i
      return data.reshape((-1, 2)), labels.ravel()
  
file_path: metric-learn/examples/plot_sandwich.py
imports: import numpy
  from matplotlib import pyplot
  from sklearn.metrics import pairwise_distances
  from sklearn.neighbors import NearestNeighbors
  from metric_learn import LMNN, ITML_Supervised, LSML_Supervised, SDML_Supervised
label_desc: Use image node_id 4 for calling a global function with example usage: sandwich_data() and returns: data,  labels