code: def normalize_bbox(
      bbox: Tuple, bbox_format: str, src_w: int, src_h: int
  ) -> Tuple:
      if bbox_format == "pascal_voc_norm":
          return bbox
      elif bbox_format == "pascal_voc":
          # (left, upper, right, lower) -> normalize
          left, upper, right, lower = bbox
          return (
              left / src_w,
              upper / src_h,
              right / src_w,
              lower / src_h,
          )
      elif bbox_format == "coco":
          # (left, upper, w, h) -> add left & upper to w & h, normalize
          left, upper, w, h = bbox
          return (
              left / src_w,
              upper / src_h,
              (left + w) / src_w,
              (upper + h) / src_h,
          )
      else:
          # (x_center_norm, y_center_norm, w_norm, h_norm) -> compute left & upper
          x_center_norm, y_center_norm, w_norm, h_norm = bbox
          left_norm = x_center_norm - w_norm / 2
          upper_norm = y_center_norm - h_norm / 2
          return (
              left_norm,
              upper_norm,
              left_norm + w_norm,
              upper_norm + h_norm,
          )
  
file_path: AugLy/augly/image/utils/metadata.py
imports: from copy import deepcopy
  from typing import Any, Callable, Dict, List, Optional, Tuple
  from augly.image import intensity
  from augly.image.utils import bboxes
  from PIL import Image
label_desc: Use image node_id 1 for calling a global function with example usage: normalize_bbox(bbox, bbox_format, src_w, src_h) and returns: bbox, unknown,  unknown,  unknown,  unknown, unknown,  unknown,  unknown,  unknown, left_norm,  upper_norm,  unknown,  unknown