code: func Blur(img image.Image, sigma float64) *image.NRGBA {
  	if sigma <= 0 {
  		return Clone(img)
  	}
  
  	radius := int(math.Ceil(sigma * 3.0))
  	kernel := make([]float64, radius+1)
  
  	for i := 0; i <= radius; i++ {
  		kernel[i] = gaussianBlurKernel(float64(i), sigma)
  	}
  
  	return blurVertical(blurHorizontal(img, kernel), kernel)
  }
docs: // Blur produces a blurred version of the image using a Gaussian function.
  // Sigma parameter must be positive and indicates how much the image will be blurred.
  //
  // Example:
  //
  //	dstImage := imaging.Blur(srcImage, 3.5)
  //