code: def __call__(self, data):
      img = data["image"]
  
      org_img_shape = img.shape
  
      h, w = img.shape[0:2]
      scale = self.short_size * 1.0 / min(h, w)
      h = int(h * scale + 0.5)
      w = int(w * scale + 0.5)
      if h % 32 != 0:
          h = h + (32 - h % 32)
      if w % 32 != 0:
          w = w + (32 - w % 32)
      img = cv2.resize(img, dsize=(w, h))
  
      new_img_shape = img.shape
      img_shape = np.array(org_img_shape + new_img_shape)
  
      data["shape"] = img_shape
      data["image"] = img
  
      return data
  
imports: import os
  import cv2
  import random
  import pyclipper
  import paddle
  import numpy
  from ppocr.utils.utility import check_install
  import scipy.io
  from PIL import Image
  import paddle.vision.transforms
label_desc: Use image node_id 2 for calling the ScaleAlignedShort obj's underlying member method code with example usage: obj.__call__(data) and returns: data