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 rotate_image(img, direction):
      if direction == "Up":
          pass
      elif direction == "Left":
          img = cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE)
      elif direction == "Right":
          img = cv2.rotate(img, cv2.ROTATE_90_COUNTERCLOCKWISE)
      elif direction == "Down":
          img = cv2.rotate(img, cv2.ROTATE_180)
      else:
          raise Exception(f"No such direction (={direction}) rotation")
      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 2 for calling the ARKitScenesDataset obj's underlying member method code with example usage: obj.rotate_image(img, direction) and returns: img