class_docstr: `ARKitScenes Dataset class.
  
  Args:
      root (string): Root directory of dataset where directory
          exists or will be saved to if download is set to True.
      transform (callable, optional): A function that takes in a sample (dict)
          and returns a transformed version.
      download (bool, optional): If true, downloads the dataset from the internet and
          puts on the root directory. If dataset is already downloaded, it is not
          downloaded again.
code: def load_image(path, shape, is_depth, sky_direction):
      img = cv2.imread(path, cv2.IMREAD_UNCHANGED)
      if img.shape[:2] != shape:
          img = cv2.resize(
              img,
              shape[::-1],
              interpolation=cv2.INTER_NEAREST
              if is_depth
              else cv2.INTER_LINEAR,
          )
      img = ARKitScenesDataset.rotate_image(img, sky_direction)
      if is_depth:
          img = expand_channel_dim(
              np.asarray(img / MILLIMETER_TO_METER, np.float32)
          )
      else:
          img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
          img = image_hwc_to_chw(np.asarray(img, np.float32))
      return img
  
file_path: ARKitScenes/depth_upsampling/dataset.py
imports: import os
  from glob import glob
  from typing import Callable, Optional
  import cv2
  import numpy
  import pandas
  from torch.utils.data import Dataset
  import dataset_keys
  from data_utils import image_hwc_to_chw, expand_channel_dim
label_desc: Use image node_id 3 for calling the ARKitScenesDataset obj's underlying member method code with example usage: obj.load_image(path, shape, is_depth, sky_direction) and returns: img