code: def group_pixels(ctr, offsets):
      """
      Gives each pixel in the image an instance id.
  
      Args:
          ctr (Tensor): A Tensor of shape [K, 2] where K is the number of center points. The order of second dim is (y, x).
          offsets (Tensor): A Tensor of shape [2, H, W] of raw offset output, where N is the batch size,
              for consistent, we only support N=1. The order of second dim is (offset_y, offset_x).
  
      Returns:
          Tensor: A Tensor of shape [1, H, W], ins_id is 1, 2, ...
      """
      height, width = offsets.shape[-2:]
      y_coord = paddle.arange(height, dtype=offsets.dtype).reshape(
          [1, -1, 1]
      )
      y_coord = paddle.concat([y_coord] * width, axis=2)
      x_coord = paddle.arange(width, dtype=offsets.dtype).reshape(
          [1, 1, -1]
      )
      x_coord = paddle.concat([x_coord] * height, axis=1)
      coord = paddle.concat([y_coord, x_coord], axis=0)
  
      ctr_loc = coord + offsets
      ctr_loc = ctr_loc.reshape((2, height * width)).transpose((1, 0))
  
      # ctr: [K, 2] -> [K, 1, 2]
      # ctr_loc = [H*W, 2] -> [1, H*W, 2]
      ctr = ctr.unsqueeze(1)
      ctr_loc = ctr_loc.unsqueeze(0)
  
      # distance: [K, H*W]
      distance = paddle.norm((ctr - ctr_loc).astype("float32"), axis=-1)
  
      # finds center with minimum distance at each location, offset by 1, to reserve id=0 for stuff
      instance_id = (
          paddle.argmin(distance, axis=0).reshape((1, height, width))
          + 1
      )
  
      return instance_id
  
file_path: PaddleSeg/contrib/PanopticDeepLab/core/infer.py
imports: import collections.abc
  from itertools import combinations
  from functools import partial
  import numpy
  import paddle
  import paddle.nn.functional
label_desc: Use image node_id 4 for calling a global function with example usage: group_pixels(ctr, offsets) and returns: instance_id