code: def get_spiral(n_clusters):
      # from https://scikit-learn.org/stable/auto_examples/cluster/plot_agglomerative_clustering.html
      np.random.seed(SEED)
      t = 1.5 * np.pi * (1 + 3 * np.random.rand(1, N_SAMPLES))
      x = t * np.cos(t)
      y = t * np.sin(t)
      X = np.concatenate((x, y))
      X += 0.7 * np.random.randn(2, N_SAMPLES)
      X = np.ascontiguousarray(X.T)
  
      labels = np.zeros(N_SAMPLES, dtype=int)
      return normalize(X), labels
  
imports: import gradio
  import math
  from functools import partial
  import matplotlib.pyplot
  import numpy
  from sklearn.cluster import AgglomerativeClustering, Birch, DBSCAN, KMeans, MeanShift, OPTICS, SpectralClustering, estimate_bandwidth
  from sklearn.datasets import make_blobs, make_circles, make_moons
  from sklearn.mixture import GaussianMixture
  from sklearn.neighbors import kneighbors_graph
  from sklearn.preprocessing import StandardScaler
label_desc: Use image node_id 8 for calling a global function with example usage: get_spiral(n_clusters) and returns: normalize,  labels