code: def _blur_image(image, H):
      # break image up into its color components
      size = image.shape
      imr = image[0, :, :]
      img = image[1, :, :]
      imb = image[2, :, :]
  
      # compute Fourier transform and frequqnecy spectrum
      Fim1r = np.fft.fftshift(np.fft.fft2(imr))
      Fim1g = np.fft.fftshift(np.fft.fft2(img))
      Fim1b = np.fft.fftshift(np.fft.fft2(imb))
  
      # Apply the lowpass filter to the Fourier spectrum of the image
      filtered_imager = np.multiply(H, Fim1r)
      filtered_imageg = np.multiply(H, Fim1g)
      filtered_imageb = np.multiply(H, Fim1b)
  
      newim = np.zeros(size)
  
      # convert the result to the spatial domain.
      newim[0, :, :] = np.absolute(
          np.real(np.fft.ifft2(filtered_imager))
      )
      newim[1, :, :] = np.absolute(
          np.real(np.fft.ifft2(filtered_imageg))
      )
      newim[2, :, :] = np.absolute(
          np.real(np.fft.ifft2(filtered_imageb))
      )
  
      return newim.astype("uint8")
  
file_path: pywick/pywick/transforms/distortion_transforms.py
imports: import torch
  import numpy
  import random
label_desc: Use image node_id 1 for calling a global function with example usage: _blur_image(image, H) and returns: newim