scipy.fft.

dctn#

scipy.fft.dctn(x, type=2, s=None, axes=None, norm=None, overwrite_x=False, workers=None, *, orthogonalize=None)[Quelle]#

Gibt die multidimensionale diskrete Kosinustransformation entlang der angegebenen Achsen zurück.

Parameter:
xarray_like

Das Eingabearray.

type{1, 2, 3, 4}, optional

Typ der DCT (siehe Hinweise). Der Standardtyp ist 2.

sint oder Array-ähnlich von ints oder None, optional

Die Form des Ergebnisses. Wenn sowohl s als auch axes (siehe unten) None sind, ist s gleich x.shape; wenn s None ist, aber axes nicht None ist, dann ist s gleich numpy.take(x.shape, axes, axis=0). Wenn s[i] > x.shape[i], wird die i-te Dimension des Eingangs mit Nullen aufgefüllt. Wenn s[i] < x.shape[i], wird die i-te Dimension des Eingangs auf die Länge s[i] gekürzt. Wenn ein Element von s -1 ist, wird die Größe der entsprechenden Dimension von x verwendet.

axesint oder Array-ähnlich von ints oder None, optional

Achsen, über die die DCT berechnet wird. Wenn nicht angegeben, werden die letzten len(s) Achsen verwendet, oder alle Achsen, wenn s ebenfalls nicht angegeben ist.

norm{“backward”, “ortho”, “forward”}, optional

Normalisierungsmodus (siehe Hinweise). Standard ist "backward".

overwrite_xbool, optional

Wenn True, kann der Inhalt von x zerstört werden; die Standardeinstellung ist False.

workersint, optional

Maximale Anzahl von Workern, die für die parallele Berechnung verwendet werden sollen. Wenn negativ, wickelt sich der Wert von os.cpu_count() ab. Weitere Einzelheiten finden Sie unter fft.

orthogonalizebool, optional

Ob die orthogonalisierte DCT-Variante (siehe Hinweise) verwendet werden soll. Standardmäßig ist dies True, wenn norm="ortho" und andernfalls False.

Hinzugefügt in Version 1.8.0.

Rückgabe:
yndarray von reellen Zahlen

Das transformierte Eingabearray.

Siehe auch

idctn

Inverse multidimensionale DCT

Hinweise

Vollständige Details zu den DCT-Typen und Normalisierungsmodi sowie Referenzen finden Sie unter dct.

Beispiele

>>> 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