code: def filtered_text(ax):
      # mostly copied from contour_demo.py
  
      # prepare image
      delta = 0.025
      x = np.arange(-3.0, 3.0, delta)
      y = np.arange(-2.0, 2.0, delta)
      X, Y = np.meshgrid(x, y)
      Z1 = np.exp(-(X**2) - Y**2)
      Z2 = np.exp(-((X - 1) ** 2) - (Y - 1) ** 2)
      Z = (Z1 - Z2) * 2
  
      # draw
      ax.imshow(
          Z,
          interpolation="bilinear",
          origin="lower",
          cmap=cm.gray,
          extent=(-3, 3, -2, 2),
          aspect="auto",
      )
      levels = np.arange(-1.2, 1.6, 0.2)
      CS = ax.contour(
          Z, levels, origin="lower", linewidths=2, extent=(-3, 3, -2, 2)
      )
  
      # contour label
      cl = ax.clabel(
          CS,
          levels[1::2],  # label every second level
          inline=True,
          fmt="%1.1f",
          fontsize=11,
      )
  
      # change clabel color to black
      from matplotlib.patheffects import Normal
  
      for t in cl:
          t.set_color("k")
          # to force TextPath (i.e., same font in all backends)
          t.set_path_effects([Normal()])
  
      # Add white glows to improve visibility of labels.
      white_glows = FilteredArtistList(cl, GrowFilter(3))
      ax.add_artist(white_glows)
      white_glows.set_zorder(cl[0].get_zorder() - 0.1)
  
      ax.xaxis.set_visible(False)
      ax.yaxis.set_visible(False)
  
imports: import matplotlib.pyplot
  import numpy
  from matplotlib.artist import Artist
  import matplotlib.cm
  from matplotlib.colors import LightSource
  import matplotlib.transforms
label_desc: Use image node_id 3 for calling a global function with example usage: filtered_text(ax) without return types