Skip to main content
`Ctrl`+`K`
scipy.fftpack.

# fftshift

scipy.fftpack.fftshift(x, axes=None)

  Shift the zero-frequency component to the center of the spectrum.

  This function swaps half-spaces for all axes listed (defaults to all). Note that `y[0]` is the Nyquist component only if `len(x)` is even.

  Parameters:
    x array_like

      Input array.

    axes int or shape tuple, optional

      Axes over which to shift. Default is None, which shifts all axes.

  Returns:
    y ndarray

      The shifted array.

  See also

  `ifftshift`

    The inverse of `fftshift`.

  Examples

      >>> import numpy as np
      >>> freqs = np.fft.fftfreq(10, 0.1)
      >>> freqs
      array([ 0.,  1.,  2., ..., -3., -2., -1.])
      >>> np.fft.fftshift(freqs)
      array([-5., -4., -3., -2., -1.,  0.,  1.,  2.,  3.,  4.])

  Shift the zero-frequency component only along the second axis:

      >>> freqs = np.fft.fftfreq(9, d=1./9).reshape(3, 3)
      >>> freqs
      array([[ 0.,  1.,  2.],
             [ 3.,  4., -4.],
             [-3., -2., -1.]])
      >>> np.fft.fftshift(freqs, axes=(1,))
      array([[ 2.,  0.,  1.],
             [-4.,  3.,  4.],
             [-1., -3., -2.]])