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

結果的形狀。如果 saxes (見下文) 皆為 None,則 sx.shape;如果 s 為 None 但 axes 不為 None,則 snumpy.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