scipy.ndimage.

fourier_ellipsoid#

scipy.ndimage.fourier_ellipsoid(input, size, n=-1, axis=-1, output=None)[source]#

多维椭圆形傅里叶滤波器。

数组乘以给定尺寸的椭圆形的傅里叶变换。

参数:
inputarray_like

输入数组。

sizefloat 或 sequence

用于过滤的盒子的尺寸。如果为浮点数,则 size 对所有轴相同。如果为序列,则 size 必须为每个轴包含一个值。

nint, 可选

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

axisint, 可选

实数变换的轴。

outputndarray, 可选

如果给出,则将过滤输入的结果放置到此数组中。

返回值:
fourier_ellipsoidndarray

已过滤的输入。

备注

此函数是为秩为 1、2 或 3 的数组实现的。

示例

>>> from scipy import ndimage, datasets
>>> import numpy.fft
>>> import matplotlib.pyplot as plt
>>> 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_ellipsoid(input_, size=20)
>>> result = numpy.fft.ifft2(result)
>>> ax1.imshow(ascent)
>>> ax2.imshow(result.real)  # the imaginary part is an artifact
>>> plt.show()
../../_images/scipy-ndimage-fourier_ellipsoid-1.png