code: def draw_umich_gaussian(heatmap, center, radius, k=1):
      diameter = 2 * radius + 1
      gaussian = gaussian2D((diameter, diameter), sigma=diameter / 6)
      gaussian = paddle.to_tensor(gaussian, dtype=heatmap.dtype)
  
      x, y = int(center[0]), int(center[1])
      radius = int(radius)
  
      height, width = heatmap.shape[0:2]
  
      left, right = min(x, radius), min(width - x, radius + 1)
      top, bottom = min(y, radius), min(height - y, radius + 1)
  
      masked_heatmap = heatmap[
          y - top : y + bottom, x - left : x + right
      ]
      masked_gaussian = gaussian[
          radius - top : radius + bottom, radius - left : radius + right
      ]
      # assert masked_gaussian.equal(1).float().sum() == 1
      if (
          min(masked_gaussian.shape) > 0
          and min(masked_heatmap.shape) > 0
      ):
          heatmap[
              y - top : y + bottom, x - left : x + right
          ] = paddle.maximum(masked_heatmap, masked_gaussian * k)
      return heatmap
  
imports: import copy
  import numpy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from ppdet.core.workspace import register
  import paddle.distributed
  from ..transformers.petr_transformer import inverse_sigmoid, masked_fill
  from ..initializer import constant_, normal_
  from functools import partial
label_desc: Use image node_id 6 for calling a global function with example usage: draw_umich_gaussian(heatmap, center, radius, k) and returns: heatmap