(`spline_filter1d``input, order=3, axis=-1, output=None, output_type=numarray.Float64`)- The
`spline_filter1d`function calculates a one-dimensional spline filter along the given axis. An output array can optionally be provided. The order of the spline must be larger then 1 and less than 6.

(`spline_filter``input, order=3, output=None, output_type=numarray.Float64`)- The
`spline_filter`function calculates a multi-dimensional spline filter.**Note:**The multi-dimensional filter is implemented as a sequence of one-dimensional spline filters. The intermediate arrays are stored in the same data type as the output. Therefore, if an`output_type`with a limited precision is requested, the results may be imprecise because intermediate results may be stored with insufficient precision. This can be prevented by specifying a output type of high precision.

20.4.2 Interpolation functions

(`geometric_transform``input, mapping, output_shape=None, output_type=None, output=None, order=3, mode='constant', cval=0.0, prefilter=True`)- The
`geometric_transform`function applies an arbitrary geometric transform to the input. The given`mapping`function is called at each point in the output to find the corresponding coordinates in the input.`mapping`must be a callable object that accepts a tuple of length equal to the output array rank and returns the corresponding input coordinates as a tuple of length equal to the input array rank. The output shape and output type can optionally be provided. If not given they are equal to the input shape and type.For example:

>>> a = arange(12, shape=(4,3), type = Float64) >>> def shift_func(output_coordinates): ... return (output_coordinates[0] - 0.5, output_coordinates[1] - 0.5) ... >>> print geometric_transform(a, shift_func) [[ 0. 0. 0. ] [ 0. 1.3625 2.7375] [ 0. 4.8125 6.1875] [ 0. 8.2625 9.6375]]

**Note:**The mapping function can also be written in C and passed using a CObject. See 20.10 for more information.

(`map_coordinates``input, coordinates, output_type=None, output=None, order=3, mode='constant', cval=0.0, prefilter=True`)-
The function
`map_coordinates`applies an arbitrary coordinate transformation using the given array of coordinates. The shape of the output is derived from that of the coordinate array by dropping the first axis. The parameter`coordinates`is used to find for each point in the output the corresponding coordinates in the input. The values of`coordinates`along the first axis are the coordinates in the input array at which the output value is found. (See also the numarray`coordinates`function.) Since the coordinates may be non- integer coordinates, the value of the input at these coordinates is determined by spline interpolation of the requested order. Here is an example that interpolates a 2D array at (0.5, 0.5) and (1, 2):>>> a = arange(12, shape=(4,3), type = numarray.Float64) >>> print a [[ 0. 1. 2.] [ 3. 4. 5.] [ 6. 7. 8.] [ 9. 10. 11.]] >>> print map_coordinates(a, [[0.5, 2], [0.5, 1]]) [ 1.3625 7. ]

(`affine_transform``input, matrix, offset=0.0, output_shape=None, output_type=None, output=None, order=3, mode='constant', cval=0.0, prefilter=True`)- The
`affine_transform`function applies an affine transformation to the input array. The given transformation`matrix`and`offset`are used to find for each point in the output the corresponding coordinates in the input. The value of the input at the calculated coordinates is determined by spline interpolation of the requested order. The transformation`matrix`must be two-dimensional or can also be given as a one-dimensional sequence or array. In the latter case, it is assumed that the matrix is diagonal. A more efficient interpolation algorithm is then applied that exploits the separability of the problem. The output shape and output type can optionally be provided. If not given they are equal to the input shape and type.

(`shift``input, shift, output_type=None, output=None, order=3, mode='constant', cval=0.0, prefilter=True`)- The
`shift`function returns a shifted version of the input, using spline interpolation of the requested`order`.

(`zoom``input, zoom, output_type=None, output=None, order=3, mode='constant', cval=0.0, prefilter=True`)- The
`zoom`function returns a rescaled version of the input, using spline interpolation of the requested`order`.

(`rotate``input, angle, axes=(-1, -2), reshape=1, output_type=None, output=None, order=3, mode='constant', cval=0.0, prefilter=True`)- The
`rotate`function returns the input array rotated in the plane defined by the two axes given by the parameter`axes`, using spline interpolation of the requested`order`. The angle must be given in degrees. If`reshape`is true, then the size of the output array is adapted to contain the rotated input.

Send comments to the NumArray community.