class_docstr: Random crop and flip a patch in the image. Only used in text detection
  task.
  
  Required Keys:
  
  - img
  - gt_bboxes
  - gt_polygons
  
  Modified Keys:
  
  - img
  - gt_bboxes
  - gt_polygons
  
  Args:
      pad_ratio (float): The ratio of padding. Defaults to 0.1.
      crop_ratio (float): The ratio of cropping. Defaults to 0.5.
      iter_num (int): Number of operations. Defaults to 1.
      min_area_ratio (float): Minimal area ratio between cropped patch
          and original image. Defaults to 0.2.
      epsilon (float): The threshold of polygon IoU between cropped area
          and polygon, which is used to avoid cropping text instances.
          Defaults to 0.01.
code: def __repr__(self) -> str:
      repr_str = self.__class__.__name__
      repr_str += f"(pad_ratio = {self.pad_ratio}"
      repr_str += f", crop_ratio = {self.crop_ratio}"
      repr_str += f", iter_num = {self.iter_num}"
      repr_str += f", min_area_ratio = {self.min_area_ratio}"
      repr_str += f", epsilon = {self.epsilon})"
      return repr_str
  
imports: import math
  import random
  from typing import Dict, List, Sequence, Tuple, Union
  import cv2
  import mmcv
  import numpy
  from mmcv.transforms import RandomFlip
  from mmcv.transforms.base import BaseTransform
  from mmcv.transforms.utils import avoid_cache_randomness, cache_randomness
  from shapely.geometry import Polygon
  from mmocr.registry import TRANSFORMS
  from mmocr.utils import crop_polygon, poly2bbox, poly_intersection
label_desc: Use image node_id 8 for calling the TextDetRandomCropFlip obj's underlying member method code with example usage: obj.__repr__() and returns: repr_str