class_docstr: Data augmentation method in `InstaBoost: Boosting Instance
  Segmentation Via Probability Map Guided Copy-Pasting
  <https://arxiv.org/abs/1908.07801>`_.
  
  Refer to https://github.com/GothicAi/Instaboost for implementation details.
  
  
  Required Keys:
  
  - img (np.uint8)
  - instances
  
  Modified Keys:
  
  - img (np.uint8)
  - instances
  
  Args:
      action_candidate (tuple): Action candidates. "normal", "horizontal", \
          "vertical", "skip" are supported. Defaults to ('normal', \
          'horizontal', 'skip').
      action_prob (tuple): Corresponding action probabilities. Should be \
          the same length as action_candidate. Defaults to (1, 0, 0).
      scale (tuple): (min scale, max scale). Defaults to (0.8, 1.2).
      dx (int): The maximum x-axis shift will be (instance width) / dx.
          Defaults to 15.
      dy (int): The maximum y-axis shift will be (instance height) / dy.
          Defaults to 15.
      theta (tuple): (min rotation degree, max rotation degree). \
          Defaults to (-1, 1).
      color_prob (float): Probability of images for color augmentation.
          Defaults to 0.5.
      hflag (bool): Whether to use heatmap guided. Defaults to False.
      aug_ratio (float): Probability of applying this transformation. \
          Defaults to 0.5.
docstr: The transform function.
docstr_tok: ["The","transform","function","."]
code: def transform(self, results) -> dict:
      """The transform function."""
      img = results["img"]
      ori_type = img.dtype
      if "instances" not in results or len(results["instances"]) == 0:
          return results
  
      anns, ignore_anns = self._load_anns(results)
      if np.random.choice(
          [0, 1], p=[1 - self.aug_ratio, self.aug_ratio]
      ):
          try:
              import instaboostfast as instaboost
          except ImportError:
              raise ImportError(
                  'Please run "pip install instaboostfast" '
                  "to install instaboostfast first."
              )
          anns, img = instaboost.get_new_data(
              anns, img.astype(np.uint8), self.cfg, background=None
          )
  
      results = self._parse_anns(
          results, anns, ignore_anns, img.astype(ori_type)
      )
      return results
  
file_path: mmdetection/mmdet/datasets/transforms/instaboost.py
imports: from typing import Tuple
  import numpy
  from mmcv.transforms import BaseTransform
  from mmdet.registry import TRANSFORMS
label_desc: Use image node_id 4 for calling the InstaBoost obj's underlying member method code with example usage: obj.transform(results) and returns: results, results