code: def random_flip(
      img,
      y_random=False,
      x_random=False,
      return_param=False,
      copy=False,
  ):
      """Randomly flip an image in vertical or horizontal direction.
  
      Args:
          img (~numpy.ndarray): An array that gets flipped. This is in
              CHW format.
          y_random (bool): Randomly flip in vertical direction.
          x_random (bool): Randomly flip in horizontal direction.
          return_param (bool): Returns information of flip.
          copy (bool): If False, a view of :obj:`img` will be returned.
  
      Returns:
          ~numpy.ndarray or (~numpy.ndarray, dict):
  
          If :obj:`return_param = False`,
          returns an array :obj:`out_img` that is the result of flipping.
  
          If :obj:`return_param = True`,
          returns a tuple whose elements are :obj:`out_img, param`.
          :obj:`param` is a dictionary of intermediate parameters whose
          contents are listed below with key, value-type and the description
          of the value.
  
          * **y_flip** (*bool*): Whether the image was flipped in the\
              vertical direction or not.
          * **x_flip** (*bool*): Whether the image was flipped in the\
              horizontal direction or not.
  
      """
      y_flip, x_flip = False, False
      if y_random:
          y_flip = random.choice([True, False])
      if x_random:
          x_flip = random.choice([True, False])
  
      if y_flip:
          img = img[:, ::-1, :]
      if x_flip:
          img = img[:, :, ::-1]
  
      if copy:
          img = img.copy()
  
      if return_param:
          return img, {"y_flip": y_flip, "x_flip": x_flip}
      else:
          return img
  
label_desc: Use image node_id 1 for calling a global function with example usage: random_flip(img, y_random, x_random, return_param, copy) and returns: img,  dict, img