scipy.fft.
dctn#
- scipy.fft.dctn(x, type=2, s=None, axes=None, norm=None, overwrite_x=False, workers=None, *, orthogonalize=None)[原始碼]#
沿指定軸返回多維離散餘弦轉換。
- 參數:
- xarray_like
輸入陣列。
- type{1, 2, 3, 4}, optional
DCT 的類型(請參閱註釋)。預設類型為 2。
- sint 或 array_like of ints 或 None, optional
結果的形狀。如果 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 的對應維度大小。- axesint 或 array_like of ints 或 None, optional
計算 DCT 的軸。如果未給定,則使用最後
len(s)
個軸,如果 s 也未指定,則使用所有軸。- norm{“backward”, “ortho”, “forward”}, optional
標準化模式(請參閱註釋)。預設為“backward”。
- overwrite_xbool, optional
如果為 True,則可以破壞 x 的內容;預設為 False。
- workersint, optional
用於平行計算的最大 worker 數量。如果為負數,則值會從
os.cpu_count()
環繞。請參閱fft
以取得更多詳細資訊。- orthogonalizebool, optional
是否使用正交化 DCT 變體(請參閱註釋)。當
norm="ortho"
時預設為True
,否則為False
。在 1.8.0 版本中新增。
- 返回:
- yndarray of real
轉換後的輸入陣列。
另請參閱
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