code: def IFT_continuous(f, H, axis=-1, method=1):
      """Approximate a continuous 1D Inverse Fourier Transform with sampled data.
  
      This function uses the Fast Fourier Transform to approximate
      the continuous fourier transform of a sampled function, using
      the convention
  
      .. math::
  
         H(f) = integral[ h(t) exp(-2 pi i f t) dt]
  
         h(t) = integral[ H(f) exp(2 pi i f t) dt]
  
      It returns t and h, which approximate h(t).
  
      Parameters
      ----------
      f : array_like
          regularly sampled array of times
          t is assumed to be regularly spaced, i.e.
          f = f0 + Df * np.arange(N)
      H : array_like
          real or complex signal at each time
      axis : int
          axis along which to perform fourier transform.
          This axis must be the same length as t.
  
      Returns
      -------
      f : ndarray
          frequencies of result.  Units are the same as 1/t
      H : ndarray
          Fourier coefficients at each frequency.
      """
      assert f.ndim == 1
      assert H.shape[axis] == f.shape[0]
      N = len(f)
      if N % 2 != 0:
          raise ValueError("number of samples must be even")
  
      f0 = f[0]
      Df = f[1] - f[0]
  
      t0 = -0.5 / Df
      Dt = 1.0 / (N * Df)
      t = t0 + Dt * np.arange(N)
  
      shape = np.ones(H.ndim, dtype=int)
      shape[axis] = N
  
      t_calc = t.reshape(shape)
      f_calc = f.reshape(shape)
  
      H_prime = H * np.exp(2j * np.pi * t0 * f_calc)
      h_prime = ifft(H_prime, axis=axis)
      h = N * Df * np.exp(2j * np.pi * f0 * (t_calc - t0)) * h_prime
  
      return t, h
  
file_path: astroML/astroML/fourier.py
imports: import numpy
label_desc: Use image node_id 2 for calling a global function with example usage: IFT_continuous(f, H, axis, method) and returns: t,  h