class_docstr: NearestNDInterpolator(x, y).
  
  Nearest-neighbor interpolation in N > 1 dimensions.
  
  .. versionadded:: 0.9
  
  Methods
  -------
  __call__
  
  Parameters
  ----------
  x : (Npoints, Ndims) ndarray of floats
      Data point coordinates.
  y : (Npoints,) ndarray of float or complex
      Data values.
  rescale : boolean, optional
      Rescale points to unit cube before performing interpolation.
      This is useful if some of the input dimensions have
      incommensurable units and differ by many orders of magnitude.
  
      .. versionadded:: 0.14.0
  tree_options : dict, optional
      Options passed to the underlying ``cKDTree``.
  
      .. versionadded:: 0.17.0
  
  
  Notes
  -----
  Uses ``scipy.spatial.cKDTree``
  
  Examples
  --------
  We can interpolate values on a 2D plane:
  
  >>> from scipy.interpolate import NearestNDInterpolator
  >>> import matplotlib.pyplot as plt
  >>> rng = np.random.default_rng()
  >>> x = rng.random(10) - 0.5
  >>> y = rng.random(10) - 0.5
  >>> z = np.hypot(x, y)
  >>> X = np.linspace(min(x), max(x))
  >>> Y = np.linspace(min(y), max(y))
  >>> X, Y = np.meshgrid(X, Y)  # 2D grid for interpolation
  >>> interp = NearestNDInterpolator(list(zip(x, y)), z)
  >>> Z = interp(X, Y)
  >>> plt.pcolormesh(X, Y, Z, shading='auto')
  >>> plt.plot(x, y, "ok", label="input point")
  >>> plt.legend()
  >>> plt.colorbar()
  >>> plt.axis("equal")
  >>> plt.show()
  
  See also
  --------
  griddata :
      Interpolate unstructured D-D data.
  LinearNDInterpolator :
      Piecewise linear interpolant in N dimensions.
  CloughTocher2DInterpolator :
      Piecewise cubic, C1 smooth, curvature-minimizing interpolant in 2D.
docstr: Evaluate interpolator at given points.
  
  Parameters
  ----------
  x1, x2, ... xn: array-like of float
      Points where to interpolate data at.
      x1, x2, ... xn can be array-like of float with broadcastable shape.
      or x1 can be array-like of float with shape ``(..., ndim)``
docstr_tok: ["Evaluate","interpolator","at","given","points",".","Parameters","--","--","--","--","--","x1",",","x2",",","...","xn",":","array-like","of","float","Points","where","to","interpolate","data","at",".","x1",",","x2",",","...","xn","can","be","array-like","of","float","with","broadcastable","shape",".","or","x1","can","be","array-like","of","float","with","shape","``","(","...",",","ndim",")","``"]
code: def __call__(self, *args):
      """
      Evaluate interpolator at given points.
  
      Parameters
      ----------
      x1, x2, ... xn: array-like of float
          Points where to interpolate data at.
          x1, x2, ... xn can be array-like of float with broadcastable shape.
          or x1 can be array-like of float with shape ``(..., ndim)``
  
      """
      xi = _ndim_coords_from_arrays(args, ndim=self.points.shape[1])
      xi = self._check_call_shape(xi)
      xi = self._scale_x(xi)
      dist, i = self.tree.query(xi)
      return self.values[i]
  
file_path: catboost/contrib/python/scipy/py3/scipy/interpolate/ndgriddata.py
imports: import numpy
  from .interpnd import LinearNDInterpolator, NDInterpolatorBase, CloughTocher2DInterpolator, _ndim_coords_from_arrays
  from scipy.spatial import cKDTree
label_desc: Use image node_id 2 for calling the NearestNDInterpolator obj's underlying member method code with example usage: obj.__call__() and returns: self