code: def evaluate(self, x, y, flux, x_0, y_0, use_oversampling=True):
          
  
          if use_oversampling:
              xi = self._oversampling[0] * (np.asarray(x) - x_0)
              yi = self._oversampling[1] * (np.asarray(y) - y_0)
          else:
              xi = np.asarray(x) - x_0
              yi = np.asarray(y) - y_0
  
          xi += self._x_origin
          yi += self._y_origin
  
          f = flux * self._normalization_constant
          evaluated_model = f * self.interpolator.ev(xi, yi)
  
          if self._fill_value is not None:
              # find indices of pixels that are outside the input pixel grid and
              # set these pixels to the 'fill_value':
              invalid = (((xi < 0) | (xi > self._nx - 1)) |
                         ((yi < 0) | (yi > self._ny - 1)))
              evaluated_model[invalid] = self._fill_value
  
          return evaluated_model
docs: Evaluate the model on some input variables and provided model
          parameters.
  
          Parameters
          ----------
          use_oversampling : bool, optional
              Whether to use the oversampling factor to calculate the
              model pixel indices.  The default is `True`, which means the
              input indices will be multipled by this factor.