scipy.ndimage.

fourier_shift#

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

多维傅里叶移位滤波器。

该数组与移位操作的傅里叶变换相乘。

参数:
输入array_like

输入数组。

shift浮点数或序列

用于过滤的盒子的大小。如果是一个浮点数,shift 对所有轴都是相同的。如果是一个序列,shift 必须包含每个轴的一个值。

nint, 可选

如果 n 是负数(默认),则假定输入是复数 fft 的结果。如果 n 大于或等于零,则假定输入是实数 fft 的结果,并且 n 给出了沿实数变换方向变换前的数组长度。

int, 可选

实变换的轴。

输出ndarray,可选

如果给出,输入移位后的结果将放置在这个数组中。

返回:
fourier_shiftndarray

移位的输入。

示例

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