code: def short_side_scale_with_boxes(
      images: torch.Tensor,
      boxes: torch.Tensor,
      size: int,
      interpolation: str = "bilinear",
      backend: str = "pytorch",
  ) -> Tuple[torch.Tensor, np.ndarray]:
      """
      Perform a spatial short scale jittering on the given images and
      corresponding boxes.
      Args:
          images (tensor): images to perform scale jitter. Dimension is
              `channel` x `num frames` x `height` x `width`.
          boxes (tensor): Corresponding boxes to images.
              Dimension is `num boxes` x 4.
          size (int): The size the shorter side is scaled to.
          interpolation (str): Algorithm used for upsampling,
              options: nearest' | 'linear' | 'bilinear' | 'bicubic' | 'trilinear' | 'area'
          backend (str): backend used to perform interpolation. Options includes
              `pytorch` as default, and `opencv`. Note that opencv and pytorch behave
              differently on linear interpolation on some versions.
              https://discuss.pytorch.org/t/pytorch-linear-interpolation-is-different-from-pil-opencv/71181
      Returns:
          (tensor): the scaled images with dimension of
              `channel` x `num frames` x `height` x `width`.
          (tensor): the scaled boxes with dimension of
              `num boxes` x 4.
      """
      c, t, h, w = images.shape
      images = short_side_scale(images, size, interpolation, backend)
      _, _, new_h, new_w = images.shape
      if w < h:
          boxes *= float(new_h) / h
      else:
          boxes *= float(new_w) / w
      return images, boxes
  
imports: import copy
  import math
  from typing import Tuple
  import numpy
  import torch
label_desc: Use image node_id 6 for calling a global function with example usage: short_side_scale_with_boxes(images, boxes, size, interpolation, backend) and returns: images,  boxes