class_docstr: RepPoint head.
  
  Args:
      point_feat_channels (int): Number of channels of points features.
      gradient_mul (float): The multiplier to gradients from
          points refinement and recognition.
      point_strides (Iterable): points strides.
      point_base_scale (int): bbox scale for assigning labels.
      loss_cls (dict): Config of classification loss.
      loss_bbox_init (dict): Config of initial points loss.
      loss_bbox_refine (dict): Config of points loss in refinement.
      use_grid_points (bool): If we use bounding box representation, the
      reppoints is represented as grid points on the bounding box.
      center_init (bool): Whether to use center point assignment.
      transform_method (str): The methods to transform RepPoints to bbox.
class_docstr_tok: ["RepPoint","head",".","Args",":","point_feat_channels","(","int",")",":","Number","of","channels","of","points","features",".","gradient_mul","(","float",")",":","The","multiplier","to","gradients","from","points","refinement","and","recognition",".","point_strides","(","Iterable",")",":","points","strides",".","point_base_scale","(","int",")",":","bbox","scale","for","assigning","labels",".","loss_cls","(","dict",")",":","Config","of","classification","loss",".","loss_bbox_init","(","dict",")",":","Config","of","initial","points","loss",".","loss_bbox_refine","(","dict",")",":","Config","of","points","loss","in","refinement",".","use_grid_points","(","bool",")",":","If","we","use","bounding","box","representation",",","the","reppoints","is","represented","as","grid","points","on","the","bounding","box",".","center_init","(","bool",")",":","Whether","to","use","center","point","assignment",".","transform_method","(","str",")",":","The","methods","to","transform","RepPoints","to","bbox","."]
docstr: Get bboxes according to center points.
  
  Only used in :class:`MaxIoUAssigner`.
docstr_tok: ["Get","bboxes","according","to","center","points",".","Only","used","in",":","class",":","`","MaxIoUAssigner","`","."]
code: def centers_to_bboxes(self, point_list):
      """Get bboxes according to center points.
  
      Only used in :class:`MaxIoUAssigner`.
      """
      bbox_list = []
      for i_img, point in enumerate(point_list):
          bbox = []
          for i_lvl in range(len(self.point_strides)):
              scale = (
                  self.point_base_scale
                  * self.point_strides[i_lvl]
                  * 0.5
              )
              bbox_shift = (
                  torch.Tensor([-scale, -scale, scale, scale])
                  .view(1, 4)
                  .type_as(point[0])
              )
              bbox_center = torch.cat(
                  [point[i_lvl][:, :2], point[i_lvl][:, :2]], dim=1
              )
              bbox.append(bbox_center + bbox_shift)
          bbox_list.append(bbox)
      return bbox_list
  
imports: import numpy
  import torch
  import torch.nn
  from mmcv.cnn import ConvModule, bias_init_with_prob, normal_init
  from mmcv.ops import DeformConv2d
  from mmdet.core import PointGenerator, build_assigner, build_sampler, images_to_levels, multi_apply, multiclass_nms, unmap
  from ..builder import HEADS, build_loss
  from .anchor_free_head import AnchorFreeHead
label_desc: Use image node_id 9 for calling the RepPointsHead obj's underlying member method code with example usage: obj.centers_to_bboxes(point_list) and returns: bbox_list