code: def ParametricEllipsoid(
      xradius=None, yradius=None, zradius=None, **kwargs
  ):
      """Generate an ellipsoid.
  
      ParametricEllipsoid generates an ellipsoid.  If all the radii are
      the same, we have a sphere.  An oblate spheroid occurs if RadiusX
      = RadiusY > RadiusZ.  Here the Z-axis forms the symmetry axis. To
      a first approximation, this is the shape of the earth.  A prolate
      spheroid occurs if RadiusX = RadiusY < RadiusZ.
  
      Parameters
      ----------
      xradius : float, default: 1.0
          The scaling factor for the x-axis.
  
      yradius : float, default: 1.0
          The scaling factor for the y-axis.
  
      zradius : float, default: 1.0
          The scaling factor for the z-axis.
  
      **kwargs : dict, optional
          See :func:`surface_from_para` and :func:`parametric_keywords`
          for additional keyword arguments.
  
      Returns
      -------
      pyvista.PolyData
          ParametricEllipsoid surface.
  
      Examples
      --------
      Create a ParametricEllipsoid mesh.
  
      >>> import pyvista as pv
      >>> mesh = pv.ParametricEllipsoid()
      >>> mesh.plot(color='w', smooth_shading=True)
  
      """
      parametric_function = _vtk.vtkParametricEllipsoid()
      parametric_keywords(
          parametric_function,
          min_u=kwargs.pop("min_u", 0),
          max_u=kwargs.pop("max_u", 2 * pi),
          min_v=kwargs.pop("min_v", 0.0),
          max_v=kwargs.pop("max_v", pi),
          join_u=kwargs.pop("join_u", False),
          join_v=kwargs.pop("join_v", False),
          twist_u=kwargs.pop("twist_u", False),
          twist_v=kwargs.pop("twist_v", False),
          clockwise=kwargs.pop("clockwise", True),
      )
  
      if xradius is not None:
          parametric_function.SetXRadius(xradius)
  
      if yradius is not None:
          parametric_function.SetYRadius(yradius)
  
      if zradius is not None:
          parametric_function.SetZRadius(zradius)
  
      center = kwargs.pop("center", [0.0, 0.0, 0.0])
      direction = kwargs.pop("direction", [1.0, 0.0, 0.0])
      kwargs.setdefault("clean", True)
      surf = surface_from_para(parametric_function, **kwargs)
      translate(surf, center, direction)
      return surf
  
imports: from math import pi
  import warnings
  import numpy
  import pyvista
  from pyvista.core import _vtk_core
  from pyvista.core.errors import PyVistaDeprecationWarning
  from .geometric_objects import translate
  from .helpers import wrap
  from .misc import check_valid_vector
label_desc: Use image node_id 10 for calling a global function with example usage: ParametricEllipsoid(xradius, yradius, zradius) and returns: surf