code: def __call__(self, data):
      if np.random.rand() > self.prob:
          return data
  
      radius = np.random.choice([0, 3, 5, 7, 9])
      w = np.random.uniform(0.1, 0.5)
      blur_img = cv2.GaussianBlur(data["img"], (radius, radius), 5)
      data["img"] = cv2.addWeighted(data["img"], 1 + w, blur_img, -w, 0)
      for key in data.get("gt_fields", []):
          if key == "trimap" or key == "alpha":
              continue
          blur_img = cv2.GaussianBlur(data[key], (0, 0), 5)
          data[key] = cv2.addWeighted(data[key], 1.5, blur_img, -0.5, 0)
  
      return data
  
imports: import os
  import random
  import string
  import cv2
  import numpy
  from paddleseg.transforms import functional
  from paddleseg.cvlibs import manager
  from paddleseg.utils import seg_env
  from PIL import Image
label_desc: Use image node_id 2 for calling the RandomSharpen obj's underlying member method code with example usage: obj.__call__(data) and returns: data, data