SciPy

scipy.fftpack.dctn

scipy.fftpack.dctn(x, type=2, shape=None, axes=None, norm=None, overwrite_x=False)[source]

Return multidimensional Discrete Cosine Transform along the specified axes.

Parameters:
x : array_like

The input array.

type : {1, 2, 3, 4}, optional

Type of the DCT (see Notes). Default type is 2.

shape : int or array_like of ints or None, optional

The shape of the result. If both shape and axes (see below) are None, shape is x.shape; if shape is None but axes is not None, then shape is scipy.take(x.shape, axes, axis=0). If shape[i] > x.shape[i], the i-th dimension is padded with zeros. If shape[i] < x.shape[i], the i-th dimension is truncated to length shape[i]. If any element of shape is -1, the size of the corresponding dimension of x is used.

axes : int or array_like of ints or None, optional

Axes along which the DCT is computed. The default is over all axes.

norm : {None, ‘ortho’}, optional

Normalization mode (see Notes). Default is None.

overwrite_x : bool, optional

If True, the contents of x can be destroyed; the default is False.

Returns:
y : ndarray of real

The transformed input array.

See also

idctn
Inverse multidimensional DCT

Notes

For full details of the DCT types and normalization modes, as well as references, see dct.

Examples

>>> from scipy.fftpack import dctn, idctn
>>> y = np.random.randn(16, 16)
>>> np.allclose(y, idctn(dctn(y, norm='ortho'), norm='ortho'))
True

Previous topic

scipy.fftpack.idct

Next topic

scipy.fftpack.idctn