scipy.fft.idctn#
- scipy.fft.idctn(x, type=2, s=None, axes=None, norm=None, overwrite_x=False, workers=None, orthogonalize=None)[source]#
Return multidimensional Inverse 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.
- sint or array_like of ints or None, optional
The shape of the result. If both s and axes (see below) are None, s is
x.shape
; if s is None but axes is not None, then s isnumpy.take(x.shape, axes, axis=0)
. Ifs[i] > x.shape[i]
, the ith dimension is padded with zeros. Ifs[i] < x.shape[i]
, the ith dimension is truncated to lengths[i]
. If any element of s is -1, the size of the corresponding dimension of x is used.- axesint or array_like of ints or None, optional
Axes over which the IDCT is computed. If not given, the last
len(s)
axes are used, or all axes if s is also not specified.- norm{“backward”, “ortho”, “forward”}, optional
Normalization mode (see Notes). Default is “backward”.
- overwrite_xbool, optional
If True, the contents of x can be destroyed; the default is False.
- workersint, optional
Maximum number of workers to use for parallel computation. If negative, the value wraps around from
os.cpu_count()
. Seefft
for more details.- orthogonalizebool, optional
Whether to use the orthogonalized IDCT variant (see Notes). Defaults to
True
whennorm="ortho"
andFalse
otherwise.New in version 1.8.0.
- Returns:
- yndarray of real
The transformed input array.
See also
dctn
multidimensional DCT
Notes
For full details of the IDCT types and normalization modes, as well as references, see
idct
.Examples
>>> import numpy as np >>> from scipy.fft import dctn, idctn >>> rng = np.random.default_rng() >>> y = rng.standard_normal((16, 16)) >>> np.allclose(y, idctn(dctn(y))) True