You are viewing an older version (1.17.1).Go to latest (1.18.0)
{ } Raw JSON

bundles / scipy 1.17.1 / scipy / ndimage / _fourier / fourier_shift

function

scipy.ndimage._fourier:fourier_shift

source: /scipy/ndimage/_fourier.py:253

Signature

def fourier_shift(input, shift, n = -1, axis = -1, output = None)

Summary

Multidimensional Fourier shift filter.

Extended Summary

The array is multiplied with the Fourier transform of a shift operation.

Parameters

input : array_like

The input array.

shift : float or sequence

The size of the box used for filtering. If a float, shift is the same for all axes. If a sequence, shift has to contain one value for each axis.

n : int, optional

If n is negative (default), then the input is assumed to be the result of a complex fft. If n is larger than or equal to zero, the input is assumed to be the result of a real fft, and n gives the length of the array before transformation along the real transform direction.

axis : int, optional

The axis of the real transform.

output : ndarray, optional

If given, the result of shifting the input is placed in this array.

Returns

fourier_shift : ndarray

The shifted input.

Notes

Array API Standard Support

fourier_shift has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.

====================  ====================  ====================
Library               CPU                   GPU
====================  ====================  ====================
NumPy                 ✅                     n/a                 
CuPy                  n/a                   ✅                   
PyTorch               ✅                     ⛔                   
JAX                   ⚠️ no JIT             ⛔                   
Dask                  ⚠️ computes graph     n/a                 
====================  ====================  ====================

See dev-arrayapi for more information.

Examples

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()
✓
fig-bb3297818dd1631a.png

Aliases

  • scipy.ndimage.fourier_shift