class_docstr: Default SSD training transform which includes tons of image augmentations.
  
  Parameters
  ----------
  width : int
      Image width.
  height : int
      Image height.
  num_class : int
      Number of categories
  scale_factor : int, default is 4
      The downsampling scale factor between input image and output heatmap
  mean : array-like of size 3
      Mean pixel values to be subtracted from image tensor. Default is [0.485, 0.456, 0.406].
  std : array-like of size 3
      Standard deviation to be divided from image. Default is [0.229, 0.224, 0.225].
class_docstr_tok: ["Default","SSD","training","transform","which","includes","tons","of","image","augmentations",".","Parameters","--","--","--","--","--","width",":","int","Image","width",".","height",":","int","Image","height",".","num_class",":","int","Number","of","categories","scale_factor",":","int",",","default","is","4","The","downsampling","scale","factor","between","input","image","and","output","heatmap","mean",":","array-like","of","size","3","Mean","pixel","values","to","be","subtracted","from","image","tensor",".","Default","is","[","0.485",",","0.456",",","0.406","]",".","std",":","array-like","of","size","3","Standard","deviation","to","be","divided","from","image",".","Default","is","[","0.229",",","0.224",",","0.225","]","."]
docstr: Apply transform to training image/label.
docstr_tok: ["Apply","transform","to","training","image\/label","."]
code: def __call__(self, src, label):
      """Apply transform to training image/label."""
      # random color jittering
      img = src
      bbox = label
  
      # random horizontal flip
      h, w, _ = img.shape
      img, flips = timage.random_flip(img, px=0.5)
      bbox = tbbox.flip(bbox, (w, h), flip_x=flips[0])
  
      cv2 = try_import_cv2()
      input_h, input_w = self._height, self._width
      s = max(h, w) * 1.0
      c = np.array([w / 2.0, h / 2.0], dtype=np.float32)
      sf = 0.4
      w_border = _get_border(128, img.shape[1])
      h_border = _get_border(128, img.shape[0])
      c[0] = np.random.randint(
          low=w_border, high=img.shape[1] - w_border
      )
      c[1] = np.random.randint(
          low=h_border, high=img.shape[0] - h_border
      )
      s = s * np.clip(np.random.randn() * sf + 1, 1 - sf, 1 + sf)
      trans_input = tbbox.get_affine_transform(
          c, s, 0, [input_w, input_h]
      )
      inp = cv2.warpAffine(
          img.asnumpy(),
          trans_input,
          (input_w, input_h),
          flags=cv2.INTER_LINEAR,
      )
      output_w = input_w // self._scale_factor
      output_h = input_h // self._scale_factor
      trans_output = tbbox.get_affine_transform(
          c, s, 0, [output_w, output_h]
      )
      for i in range(bbox.shape[0]):
          bbox[i, :2] = tbbox.affine_transform(
              bbox[i, :2], trans_output
          )
          bbox[i, 2:4] = tbbox.affine_transform(
              bbox[i, 2:4], trans_output
          )
      bbox[:, :2] = np.clip(bbox[:, :2], 0, output_w - 1)
      bbox[:, 2:4] = np.clip(bbox[:, 2:4], 0, output_h - 1)
      img = inp
  
      # to tensor
      img = img.astype(np.float32) / 255.0
      experimental.image.np_random_color_distort(
          img, data_rng=self._data_rng
      )
      img = (img - self._mean) / self._std
      img = img.transpose(2, 0, 1).astype(np.float32)
      img = mx.nd.array(img)
  
      # generate training target so cpu workers can help reduce the workload on gpu
      gt_bboxes = bbox[:, :4]
      gt_ids = bbox[:, 4:5]
      (
          heatmap,
          wh_target,
          wh_mask,
          center_reg,
          center_reg_mask,
      ) = self._target_generator(gt_bboxes, gt_ids)
      return (
          img,
          heatmap,
          wh_target,
          wh_mask,
          center_reg,
          center_reg_mask,
      )
  
file_path: gluon-cv/gluoncv/data/transforms/presets/center_net.py
imports: from __future__ import absolute_import
  import numpy
  import mxnet
  from ..None import bbox
  from ..None import image
  from ..None import experimental
  from ....utils.filesystem import try_import_cv2
label_desc: Use image node_id 3 for calling the CenterNetDefaultTrainTransform obj's underlying member method code with example usage: obj.__call__(src, label) and returns: img,  heatmap,  wh_target,  wh_mask,  center_reg,  center_reg_mask