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.

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.

y : ndarray of real

The transformed input array.

See also

Inverse multidimensional DCT


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


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

Previous topic


Next topic