code: def load_saturn_rings(
      inner=0.25, outer=0.5, c_res=6
  ):  # pragma: no cover
      """Load the planet Saturn's rings.
  
      Arguments are passed on to :func:`pyvista.Disc`.
  
      Parameters
      ----------
      inner : float, optional
          The inner radius.
  
      outer : float, optional
          The outer radius.
  
      c_res : int, optional
          The number of points in the circumferential direction.
  
      Returns
      -------
      pyvista.PolyData
          Dataset with texture for Saturn's rings.
  
      Examples
      --------
      >>> import pyvista as pv
      >>> from pyvista import examples
      >>> mesh = examples.planets.load_saturn_rings()
      >>> texture = examples.planets.download_saturn_rings(texture=True)
      >>> pl = pv.Plotter()
      >>> image_path = examples.planets.download_stars_sky_background(
      ...     load=False
      ... )
      >>> pl.add_background_image(image_path)
      >>> _ = pl.add_mesh(mesh, texture=texture)
      >>> pl.show()
  
      """
      disc = pyvista.Disc(inner=inner, outer=outer, c_res=c_res)
      disc.active_texture_coordinates = np.zeros(
          (disc.points.shape[0], 2)
      )
      radius = np.sqrt(disc.points[:, 0] ** 2 + disc.points[:, 1] ** 2)
      disc.active_texture_coordinates[:, 0] = radius / np.max(radius)
      disc.active_texture_coordinates[:, 1] = 0.0
      return disc
  
imports: import numpy
  import pyvista
  from .downloads import _download_and_read
label_desc: Use image node_id 10 for calling a global function with example usage: load_saturn_rings(inner, outer, c_res) and returns: disc