numpy.fft.ifftn
-
numpy.fft.ifftn(a, s=None, axes=None, norm=None)[source] -
Вычислить обратное N-мерное дискретное преобразование Фурье.
Эта функция вычисляет обратное N-мерное дискретное преобразование Фурье по любому количеству осей в M-мерном массиве с помощью быстрого преобразования Фурье (FFT). Другими словами,
ifftn(fftn(a)) == aс точностью до вычислительной погрешности. Определения и соглашения, используемые в этой функции, см. вnumpy.fft.Входные данные, аналогично
ifft, должны быть упорядочены так же, как возвращаетfftn, т.е. член с нулевой частотой должен находиться в левом нижнем углу, положительные частоты — в первой половине каждой оси, член с частотой Найквиста — в середине каждой оси, а отрицательные частоты — во второй половине каждой оси в порядке убывания отрицательной частоты.Параметры: -
a : array_like -
Входной массив, может быть комплексным.
-
s : sequence of ints, optional -
Форма (длина каждой преобразованной оси) выходного массива (
s[0]относится к оси 0,s[1]— к оси 1 и т.д.). Это соответствуетnдляifft(x, n). Если заданная форма меньше, чем форма входного массива по какой-либо оси, входной массив обрезается. Если она больше, входной массив дополняется нулями. Еслиsне задан, используется форма входного массива по осям, указанным вaxes. См. примечания по проблеме с нулевым дополнением вifft. -
axes : sequence of ints, optional -
Оси, по которым вычисляется обратное преобразование. Если не заданы, используются последние
len(s)оси или все оси, еслиsтакже не задан. Повторные индексы вaxesозначают, что обратное преобразование по этой оси выполняется несколько раз. -
norm : {None, “ortho”}, optional -
Введено в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию None.
Возвращает: -
out : complex ndarray -
Обрезанный или дополненный нулями входной массив, преобразованный по осям, указанным в
axes, или по комбинацииsилиa, как объяснено в разделе параметров выше.
Возбуждает: - ValueError
-
Если
sиaxesимеют разную длину. - IndexError
-
Если элемент
axesбольше числа осей массиваa.
См. также
-
numpy.fft - Обзор дискретных преобразований Фурье с определениями и соглашениями.
-
fftn - Прямое N-мерное преобразование Фурье, обратным к которому является
ifftn. -
ifft - Обратное одномерное преобразование Фурье.
-
ifft2 - Обратное двумерное преобразование Фурье.
-
ifftshift - Отменяет
fftshift, смещает члены с нулевой частотой в начало массива.
Примечания
См.
numpy.fftдля определений и используемых соглашений.Нулевое дополнение, аналогично
ifft, выполняется путем добавления нулей к входному массиву по заданной оси. Хотя это распространенный подход, он может привести к неожиданным результатам. Если требуется другая форма нулевого дополнения, она должна быть выполнена до вызоваifftn.Примеры
>>> a = np.eye(4) >>> np.fft.ifftn(np.fft.fftn(a, axes=(0,)), axes=(1,)) array([[ 1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j], [ 0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j], [ 0.+0.j, 0.+0.j, 1.+0.j, 0.+0.j], [ 0.+0.j, 0.+0.j, 0.+0.j, 1.+0.j]])Создаем и отображаем изображение с ограниченным частотным содержанием:
>>> import matplotlib.pyplot as plt >>> n = np.zeros((200,200), dtype=complex) >>> n[60:80, 20:40] = np.exp(1j*np.random.uniform(0, 2*np.pi, (20, 20))) >>> im = np.fft.ifftn(n).real >>> plt.imshow(im) <matplotlib.image.AxesImage object at 0x...> >>> plt.show()
-
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.fft.ifftn.html