code: def imread(
      path,
      grayscale=False,
      size=None,
      interpolate="bilinear",
      channel_first=False,
      as_uint16=False,
      num_channels=-1,
      **kwargs,
  ):
      """
      Read image from ``path``.
      If you specify the ``size``, the output array is resized.
      Default output shape is (height, width, channel) for RGB image and (height, width) for gray-scale image.
  
      Args:
          path (String or File Object): Input image path.
          grayscale (bool): If True, the img is rescaled to gray-scale. Default is False.
          size (tuple of int): Output shape. The order is (width, height). If None, the image is not resized. Default is None.
          interpolate (str): Interpolation method.
              This argument is depend on the backend.
              If you want to specify this argument, you should pay much attention to which backend you use now.
              What you can select is below:
               - pil backend: ["nearest", "box", "bilinear", "hamming", "bicubic", "lanczos"].
               - cv2 backend: ["nearest", "bilinear", "bicubic", "lanczos"].
              Default is "bilinear" for both backends.
          channel_first (bool): If True, the shape of the output array is (channel, height, width) for RGB image. Default is False.
          as_uint16 (bool): If True, this function tries to read img as np.uint16. Default is False.
          num_channels (int): channel size of output array.
              Default is -1 which preserves raw image shape.
          return_palette_indices (bool):
              This argument can be used only by pil backend.
              On pil backend, if this flag is True and PIL.Image has the mode "P",
              then this function returns 2-D array containing the indices into palette.
              Otherwise, 3-D array of "RGB" or "RGBA" (it depends on an image info) will be returned.
              Default value is False.
  
      Returns:
           numpy.ndarray :
           if as_uint16=True output dtype is np.uint16, else np.uint8 (default).
      """
  
      best_backend = backend_manager.get_best_backend(path, "load")
      return best_backend.imread(
          path,
          grayscale=grayscale,
          size=size,
          interpolate=interpolate,
          channel_first=channel_first,
          as_uint16=as_uint16,
          num_channels=num_channels,
          **kwargs,
      )
  
file_path: nnabla/python/src/nnabla/utils/image_utils/__init__.py
imports: from __future__ import absolute_import
  import numpy
  from .backend_manager import backend_manager
  from .backend_events.common import rescale_pixel_intensity
label_desc: Use image node_id 5 for calling a global function with example usage: imread(path, grayscale, size, interpolate, channel_first, as_uint16, num_channels) and returns: best_backend