code: def imresize(arr, size, interp='bilinear', mode=None):
      
      im = toimage(arr, mode=mode)
      ts = type(size)
      if issubdtype(ts, int):
          percent = size / 100.0
          size = tuple((array(im.size)*percent).astype(int))
      elif issubdtype(type(size), float):
          size = tuple((array(im.size)*size).astype(int))
      else:
          size = (size[1], size[0])
      func = {'nearest': 0, 'lanczos': 1, 'bilinear': 2, 'bicubic': 3, 'cubic': 3}
      imnew = im.resize(size, resample=func[interp])
      return fromimage(imnew)
docs: Resize an image.
  
      Parameters
      ----------
      arr : ndarray
          The array of image to be resized.
  
      size : int, float or tuple
          * int   - Percentage of current size.
          * float - Fraction of current size.
          * tuple - Size of the output image.
  
      interp : str, optional
          Interpolation to use for re-sizing ('nearest', 'lanczos', 'bilinear', 'bicubic'
          or 'cubic').
  
      mode : str, optional
          The PIL image mode ('P', 'L', etc.) to convert `arr` before resizing.
  
      Returns
      -------
      imresize : ndarray
          The resized array of image.
  
      See Also
      --------
      toimage : Implicitly used to convert `arr` according to `mode`.
      scipy.ndimage.zoom : More generic implementation that does not use PIL.