class_docstr: Randomly expand image to a larger region with padded pixels.
  Apply tranlation to bounding boxes accordingly.
  
  Parameters
  ----------
  p : float
      The probability to preceed with random cropping logic.
  max_ratio : float
      The minimum expansion ratio. If `max_ratio` is 2, the range of
      output image size is 1x ~ 2x of the original input size.
  fill : float or tuple of float
      The value(s) for the pixels in expanded regions. Can be scalar or tuple,
      note the if tuple is provided, its size must match the image channels, typically 3.
  keep_ratio : bool
      If `True`, the output must have the same aspect ratio as input, otherwise the output
      can have arbitrary aspect ratio.
  
  Inputs:
      - **data**: input tensor with (Hi x Wi x C) shape.
      - **bbox**: input tensor with shape (N, 4+) where N is the number of bounding boxes.
          The second axis represents attributes of the bounding box.
          Specifically, these are :math:`(x_{min}, y_{min}, x_{max}, y_{max})`,
          we allow additional attributes other than coordinates, which stay intact
          during bounding box transformations.
  
  Outputs:
      - **out**: Cropped image with shape (H x W x C)
      - **bbox**: Cropped bounding boxes with shape :obj:`(N, 4+)`.
          Tuple of length 4 as :math:`(x_{min}, y_{min}, x_{max}, y_{max})`.
code: def __init__(self, p=0.5, max_ratio=4, fill=0, keep_ratio=True):
      super(ImageBboxRandomExpand, self).__init__()
      self.p = p
      self._max_ratio = max_ratio
      self._fill = fill
      self._keep_ratio = keep_ratio
  
imports: import random
  from .......base import numeric_types
  from ......block import Block
  from .......util import is_np_array
  from .......None import ndarray, numpy_extension, numpy
  from .utils import _check_bbox_shape, bbox_crop, bbox_translate
  from .utils import bbox_resize, bbox_random_crop_with_constraints
label_desc: Use image node_id 1 to create a new ImageBboxRandomExpand object from inherited base classes: Block with example: obj = ImageBboxRandomExpand(p, max_ratio, fill, keep_ratio)