scipy.fft.
dctn#
- scipy.fft.dctn(x, type=2, s=None, axes=None, norm=None, overwrite_x=False, workers=None, *, orthogonalize=None)[源代码][源代码]#
沿指定轴返回多维离散余弦变换。
- 参数:
- xarray_like
输入数组。
- 类型{1, 2, 3, 4}, 可选
DCT 的类型(参见注释)。默认类型为 2。
- sint 或 int 类型的数组,或 None,可选
结果的形状。如果 s 和 axes`(见下文)都为 None,则 `s 为
x.shape
;如果 s 为 None 但 axes 不为 None,则 s 为numpy.take(x.shape, axes, axis=0)
。如果s[i] > x.shape[i]
,则输入的第 i 维度用零填充。如果s[i] < x.shape[i]
,则输入的第 i 维度被截断为长度s[i]
。如果 s 的任何元素为 -1,则使用 x 相应维度的尺寸。- 轴int 或 int 类型的数组,或 None,可选
计算DCT的轴。如果没有给出,则使用最后的
len(s)
轴,如果 s 也没有指定,则使用所有轴。- 规范{“backward”, “ortho”, “forward”},可选
归一化模式(参见注释)。默认是“backward”。
- overwrite_xbool, 可选
如果为 True,x 的内容可以被销毁;默认是 False。
- 工人int, 可选
用于并行计算的最大工作线程数。如果为负数,则从
os.cpu_count()
开始回绕。更多详情请参见fft
。- 正交化bool, 可选
是否使用正交化的DCT变体(参见注释)。当
norm="ortho"
时默认为True
,否则默认为False
。Added in version 1.8.0.
- 返回:
- y实数 ndarray
转换后的输入数组。
参见
idctn
逆多维DCT
注释
有关DCT类型和归一化模式的详细信息,以及参考资料,请参阅
dct
。示例
>>> 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