class_docstr: Implementation of random Gaussian blur.
  
  Utilizes the built-in ImageFilter method from PIL to apply a Gaussian
  blur to the input image with a certain probability. The blur is further
  randomized by sampling uniformly the values of the standard deviation of
  the Gaussian kernel.
  
  Attributes:
      kernel_size:
          Will be deprecated in favor of `sigmas` argument. If set, the old behavior applies and `sigmas` is ignored.
          Used to calculate sigma of gaussian blur with kernel_size * input_size.
      prob:
          Probability with which the blur is applied.
      scale:
          Will be deprecated in favor of `sigmas` argument. If set, the old behavior applies and `sigmas` is ignored.
          Used to scale the `kernel_size` of a factor of `kernel_scale`
      sigmas:
          Tuple of min and max value from which the std of the gaussian kernel is sampled.
          Is ignored if `kernel_size` is set.
docstr: Blurs the image with a given probability.
  
  Args:
      sample:
          PIL image to which blur will be applied.
  
  Returns:
      Blurred image or original image.
docstr_tok: ["Blurs","the","image","with","a","given","probability",".","Args",":","sample",":","PIL","image","to","which","blur","will","be","applied",".","Returns",":","Blurred","image","or","original","image","."]
code: def __call__(self, sample: Image) -> Image:
      """Blurs the image with a given probability.
  
      Args:
          sample:
              PIL image to which blur will be applied.
  
      Returns:
          Blurred image or original image.
      """
      prob = np.random.random_sample()
      if prob < self.prob:
          # choose randomized std for Gaussian filtering
          sigma = np.random.uniform(self.sigmas[0], self.sigmas[1])
          # PIL GaussianBlur https://github.com/python-pillow/Pillow/blob/76478c6865c78af10bf48868345db2af92f86166/src/PIL/ImageFilter.py#L154 label the
          # sigma parameter of the gaussian filter as radius. Before, the radius of the patch was passed as the argument.
          # The issue was addressed here https://github.com/lightly-ai/lightly/issues/1051 and solved by AurelienGauffre.
          return sample.filter(ImageFilter.GaussianBlur(radius=sigma))
      # return original image
      return sample
  
file_path: lightly/lightly/transforms/gaussian_blur.py
imports: from typing import Tuple, Union
  from warnings import warn
  import numpy
  from PIL import ImageFilter
  from PIL.Image import Image
label_desc: Use image node_id 2 for calling the GaussianBlur obj's underlying member method code with example usage: obj.__call__(sample) and returns: sample, sample