#### 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)