code: def ifftshift(x, axes=None):
      """
      The inverse of `fftshift`. Although identical for even-length `x`, the
      functions differ by one sample for odd-length `x`.
  
      Parameters
      ----------
      x : array_like
          Input array.
      axes : int or shape tuple, optional
          Axes over which to calculate.  Defaults to None, which shifts all axes.
  
      Returns
      -------
      y : ndarray
          The shifted array.
  
      See Also
      --------
      fftshift : Shift zero-frequency component to the center of the spectrum.
  
      Examples
      --------
      >>> freqs = np.fft.fftfreq(9, d=1./9).reshape(3, 3)
      >>> freqs
      array([[ 0.,  1.,  2.],
             [ 3.,  4., -4.],
             [-3., -2., -1.]])
      >>> np.fft.ifftshift(np.fft.fftshift(freqs))
      array([[ 0.,  1.,  2.],
             [ 3.,  4., -4.],
             [-3., -2., -1.]])
  
      """
      x = asarray(x)
      if axes is None:
          axes = tuple(range(x.ndim))
          shift = [-(dim // 2) for dim in x.shape]
      elif isinstance(axes, integer_types):
          shift = -(x.shape[axes] // 2)
      else:
          shift = [-(x.shape[ax] // 2) for ax in axes]
  
      return roll(x, shift, axes)
  
imports: from numpy._core import integer, empty, arange, asarray, roll
  from numpy._core.overrides import array_function_dispatch, set_module
label_desc: Use image node_id 3 for calling a global function with example usage: ifftshift(x, axes) and returns: roll