scipy.ndimage.

fourier_shift#

scipy.ndimage.fourier_shift(input, shift, n=-1, axis=-1, output=None)[Quelle]#

Mehrdimensionaler Fourier-Verschiebungsfilter.

Das Array wird mit der Fourier-Transformation einer Verschiebungsoperation multipliziert.

Parameter:
inputarray_like

Das Eingabearray.

shiftfloat oder Sequenz

Die Größe der für das Filtern verwendeten Box. Wenn eine Gleitkommazahl, shift ist für alle Achsen gleich. Wenn eine Sequenz, shift muss einen Wert für jede Achse enthalten.

nint, optional

Wenn n negativ ist (Standard), wird angenommen, dass die Eingabe das Ergebnis einer komplexen FFT ist. Wenn n größer oder gleich Null ist, wird angenommen, dass die Eingabe das Ergebnis einer realen FFT ist, und n gibt die Länge des Arrays vor der Transformation entlang der Richtung der realen Transformation an.

axisint, optional

Die Achse der realen Transformation.

outputndarray, optional

Wenn angegeben, wird das Ergebnis der Verschiebung des Inputs in diesem Array platziert.

Rückgabe:
fourier_shiftndarray

Der verschobene Input.

Beispiele

>>> from scipy import ndimage, datasets
>>> import matplotlib.pyplot as plt
>>> import numpy.fft
>>> fig, (ax1, ax2) = plt.subplots(1, 2)
>>> plt.gray()  # show the filtered result in grayscale
>>> ascent = datasets.ascent()
>>> input_ = numpy.fft.fft2(ascent)
>>> result = ndimage.fourier_shift(input_, shift=200)
>>> result = numpy.fft.ifft2(result)
>>> ax1.imshow(ascent)
>>> ax2.imshow(result.real)  # the imaginary part is an artifact
>>> plt.show()
../../_images/scipy-ndimage-fourier_shift-1.png