code: def spatial_bbox_helper(
      bbox: Tuple[float, float, float, float],
      src_w: int,
      src_h: int,
      aug_function: Callable,
      **kwargs,
  ) -> Tuple:
      """
      Computes the bbox that encloses the transformed bbox in the image transformed by
      `aug_function`. This helper can be used to compute the transformed bbox for any
      augmentation which doesn't affect the color of the source image (e.g. any spatial
      augmentation).
      """
      dummy_image = Image.new("RGB", (src_w, src_h))
      draw = ImageDraw.Draw(dummy_image)
      draw.rectangle(
          (
              bbox[0] * src_w,
              bbox[1] * src_h,
              bbox[2] * src_w,
              bbox[3] * src_h,
          ),
          fill="white",
      )
  
      aug_image = aug_function(dummy_image, **kwargs)
      aug_w, aug_h = aug_image.size
      array_image = np.array(aug_image)
  
      white_y, white_x, _ = np.where(array_image > 0)
      min_x, max_x = np.min(white_x), np.max(white_x)
      min_y, max_y = np.min(white_y), np.max(white_y)
  
      return (
          min_x / aug_w,
          min_y / aug_h,
          max_x / aug_w,
          max_y / aug_h,
      )
  
file_path: AugLy/augly/image/utils/bboxes.py
imports: import math
  from typing import Callable, List, Optional, Tuple
  import numpy
  from augly.image import utils
  from PIL import Image, ImageDraw
label_desc: Use image node_id 11 for calling a global function with example usage: spatial_bbox_helper(bbox, src_w, src_h, aug_function) and returns: unknown,  unknown,  unknown,  unknown