code: def imresize_single_image(image, sizes, interpolation=None):
      
      grayscale = False
      if image.ndim == 2:
          grayscale = True
          image = image[:, :, np.newaxis]
      do_assert(len(image.shape) == 3, image.shape)
      rs = imresize_many_images(image[np.newaxis, :, :, :], sizes, interpolation=interpolation)
      if grayscale:
          return np.squeeze(rs[0, :, :, 0])
      else:
          return rs[0, ...]
docs: Resizes a single image.
  
  
      dtype support::
  
          See :func:`imgaug.imgaug.imresize_many_images`.
  
      Parameters
      ----------
      image : (H,W,C) ndarray or (H,W) ndarray
          Array of the image to resize.
          Usually recommended to be of dtype uint8.
  
      sizes : float or iterable of int or iterable of float
          See :func:`imgaug.imgaug.imresize_many_images`.
  
      interpolation : None or str or int, optional
          See :func:`imgaug.imgaug.imresize_many_images`.
  
      Returns
      -------
      out : (H',W',C) ndarray or (H',W') ndarray
          The resized image.