docs: def _fft_convolve_numpy(data, h, plan = None,
                          kernel_is_fft = False,
                          kernel_is_fftshifted = False):
      """ convolving via opencl fft for numpy arrays
  
      data and h must have the same size
      """
  
      if data.shape != h.shape:
          raise ValueError("data and kernel must have same size! %s vs %s "%(str(data.shape),str(h.shape)))
  
      
      data_g = OCLArray.from_array(data.astype(np.complex64))
  
      if not kernel_is_fftshifted:
          h = np.fft.fftshift(h)
  
      
      h_g = OCLArray.from_array(h.astype(np.complex64))
      res_g = OCLArray.empty_like(data_g)
      
      _fft_convolve_gpu(data_g,h_g,res_g = res_g,
                        plan = plan,
                        kernel_is_fft = kernel_is_fft)
  
      res =  abs(res_g.get())
  
      del data_g
      del h_g
      del res_g
      
      return res