ScaledRegularGridInterpolator

class gammapy.utils.interpolation.ScaledRegularGridInterpolator(points, values, points_scale=None, values_scale='lin', extrapolate=True, axis=None, **kwargs)[source]

Bases: object

Thin wrapper around scipy.interpolate.RegularGridInterpolator.

The values are scaled before the interpolation and back-scaled after the interpolation.

Parameters:
points : tuple of ndarray or Quantity

Tuple of points passed to RegularGridInterpolator.

values : ndarray

Values passed to RegularGridInterpolator.

points_scale : tuple of str

Interpolation scale used for the points.

values_scale : {‘lin’, ‘log’, ‘sqrt’}

Interpolation scaling applied to values. If the values vary over many magnitudes a ‘log’ scaling is recommended.

axis : int or None

Axis along which to interpolate.

**kwargs : dict

Keyword arguments passed to RegularGridInterpolator.

Methods Summary

__call__(self, points[, method, clip]) Interpolate data points.

Methods Documentation

__call__(self, points, method='linear', clip=True, **kwargs)[source]

Interpolate data points.

Parameters:
points : tuple of np.ndarray or Quantity

Tuple of coordinate arrays of the form (x_1, x_2, x_3, …). Arrays are broadcasted internally.

method : {“linear”, “nearest”}

Linear or nearest neighbour interpolation.

clip : bool

Clip values at zero after interpolation.