code: def letterbox(
      im,
      new_shape=(640, 640),
      color=(114, 114, 114),
      auto=True,
      scaleFill=False,
      scaleup=True,
      stride=32,
  ):
      # Resize and pad image while meeting stride-multiple constraints
      shape = im.shape[:2]  # current shape [height, width]
      if isinstance(new_shape, int):
          new_shape = (new_shape, new_shape)
  
      # Scale ratio (new / old)
      r = min(new_shape[0] / shape[0], new_shape[1] / shape[1])
      if (
          not scaleup
      ):  # only scale down, do not scale up (for better val mAP)
          r = min(r, 1.0)
  
      # Compute padding
      ratio = r, r  # width, height ratios
      new_unpad = int(round(shape[1] * r)), int(round(shape[0] * r))
      dw, dh = (
          new_shape[1] - new_unpad[0],
          new_shape[0] - new_unpad[1],
      )  # wh padding
      if auto:  # minimum rectangle
          dw, dh = np.mod(dw, stride), np.mod(dh, stride)  # wh padding
      elif scaleFill:  # stretch
          dw, dh = 0.0, 0.0
          new_unpad = (new_shape[1], new_shape[0])
          ratio = (
              new_shape[1] / shape[1],
              new_shape[0] / shape[0],
          )  # width, height ratios
  
      dw /= 2  # divide padding into 2 sides
      dh /= 2
  
      if shape[::-1] != new_unpad:  # resize
          im = cv2.resize(im, new_unpad, interpolation=cv2.INTER_LINEAR)
      top, bottom = int(round(dh - 0.1)), int(round(dh + 0.1))
      left, right = int(round(dw - 0.1)), int(round(dw + 0.1))
      im = cv2.copyMakeBorder(
          im, top, bottom, left, right, cv2.BORDER_CONSTANT, value=color
      )  # add border
      return im, ratio, (left, top)
  
imports: import os
  import time
  import json
  import copy
  import cv2
  import numpy
  import torch
  from torchmetrics.detection.mean_ap import MeanAveragePrecision
  import torchvision
  from pycocotools.coco import COCO
  from pycocotools.cocoeval import COCOeval
  from compression.api import DataLoader, Metric
label_desc: Use image node_id 7 for calling a global function with example usage: letterbox(im, new_shape, color, auto, scaleFill, scaleup, stride) and returns: im,  ratio,  left,  top