code: def test_complex_fft(self, xp, scp):
      x = testing.shaped_random(self.shape, xp, self.dtype)
      a = scp.fftpack.fftn(x)
      a = scp.ndimage.fourier_gaussian(a, self.sigma)
      a = scp.fftpack.ifftn(a)
      if not x.dtype.kind == "c":
          a = a.real
      return xp.ascontiguousarray(a)
  
imports: import cupy
  import numpy
  import pytest
  from cupy import testing
  import cupyx.scipy.fft
  import cupyx.scipy.fftpack
  import cupyx.scipy.ndimage
label_desc: Use image node_id 4 for calling the TestFourierGaussian obj's underlying member method code with example usage: obj.test_complex_fft(xp, scp) and returns: xp