scipy.fft.idctn¶
-
scipy.fft.
idctn
(x, type=2, s=None, axes=None, norm=None, overwrite_x=False, workers=None)[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.
- 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.
- 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
>>> from scipy.fft import dctn, idctn >>> rng = np.random.default_rng() >>> y = rng.standard_normal((16, 16)) >>> np.allclose(y, idctn(dctn(y))) True