#### Previous topic

scipy.ndimage.geometric_transform

#### Next topic

scipy.ndimage.rotate

# scipy.ndimage.map_coordinates

`scipy.ndimage.``map_coordinates`(input, coordinates, output=None, order=3, mode='constant', cval=0.0, prefilter=True)

  Map the input array to new coordinates by interpolation.

  The array of coordinates is used to find, for each point in the output, the corresponding coordinates in the input. The value of the input at those coordinates is determined by spline interpolation of the requested order.

  The shape of the output is derived from that of the coordinate array by dropping the first axis. The values of the array along the first axis are the coordinates in the input array at which the output value is found.

  Parameters: | input : ndarray The input array. coordinates : array_like The coordinates at which input is evaluated. output : ndarray or dtype, optional The array in which to place the output, or the dtype of the returned array. order : int, optional The order of the spline interpolation, default is 3. The order has to be in the range 0-5. mode : str, optional Points outside the boundaries of the input are filled according to the given mode (‘constant’, ‘nearest’, ‘reflect’, ‘mirror’ or ‘wrap’). Default is ‘constant’. cval : scalar, optional Value used for points outside the boundaries of the input if `mode='constant'`. Default is 0.0 prefilter : bool, optional The parameter prefilter determines if the input is pre-filtered with `spline_filter` before interpolation (necessary for spline interpolation of order > 1). If False, it is assumed that the input is already filtered. Default is True.
  Returns: | map_coordinates : ndarray The result of transforming the input. The shape of the output is derived from that of coordinates by dropping the first axis.

  See also

  `spline_filter`, `geometric_transform`, `scipy.interpolate`

  Examples

      >>> from scipy import ndimage
      >>> a = np.arange(12.).reshape((4, 3))
      >>> a
      array([[  0.,   1.,   2.],
             [  3.,   4.,   5.],
             [  6.,   7.,   8.],
             [  9.,  10.,  11.]])
      >>> ndimage.map_coordinates(a, [[0.5, 2], [0.5, 1]], order=1)
      array([ 2.,  7.])

  Above, the interpolated value of a[0.5, 0.5] gives output[0], while a[2, 1] is output[1].

      >>> inds = np.array([[0.5, 2], [0.5, 4]])
      >>> ndimage.map_coordinates(a, inds, order=1, cval=-33.3)
      array([  2. , -33.3])
      >>> ndimage.map_coordinates(a, inds, order=1, mode='nearest')
      array([ 2.,  8.])
      >>> ndimage.map_coordinates(a, inds, order=1, cval=0, output=bool)
      array([ True, False], dtype=bool)