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:
- xarray_like
The input array.
- type{1, 2, 3, 4}, optional
Type of the DCT (see Notes). Default type is 2.
- shapeint 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 isnumpy.take(x.shape, axes, axis=0)
. Ifshape[i] > x.shape[i]
, the ith dimension is padded with zeros. Ifshape[i] < x.shape[i]
, the ith dimension is truncated to lengthshape[i]
. If any element of shape is -1, the size of the corresponding dimension of x is used.- axesint 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_xbool, optional
If True, the contents of x can be destroyed; the default is False.
- Returns:
- yndarray 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
>>> import numpy as np >>> from scipy.fftpack import dctn, idctn >>> rng = np.random.default_rng() >>> y = rng.standard_normal((16, 16)) >>> np.allclose(y, idctn(dctn(y, norm='ortho'), norm='ortho')) True