code: def __call__(self, data):
      image = data["image"]
      text_polys = data["polys"]
      h, w, _ = image.shape
  
      aspect_ratio = np.random.uniform(min(self.scale), max(self.scale))
      scales = self.size * 1.0 / max(h, w) * aspect_ratio
      scales = np.array([scales, scales])
      out_size = (int(h * scales[1]), int(w * scales[0]))
      image = cv2.resize(image, out_size[::-1])
  
      data["image"] = image
      text_polys[:, :, 0::2] = text_polys[:, :, 0::2] * scales[1]
      text_polys[:, :, 1::2] = text_polys[:, :, 1::2] * scales[0]
      data["polys"] = text_polys
  
      return data
  
imports: import numpy
  from PIL import Image, ImageDraw
  import cv2
  from shapely.geometry import Polygon
  import math
  from ppocr.utils.poly_nms import poly_intersection
label_desc: Use image node_id 2 for calling the RandomScaling obj's underlying member method code with example usage: obj.__call__(data) and returns: data