code: def _get_coco_panoptic_separated_meta():
      """
      Returns metadata for "separated" version of the panoptic segmentation dataset.
      """
      stuff_ids = [
          k["id"] for k in COCO_CATEGORIES if k["isthing"] == 0
      ]
      assert len(stuff_ids) == 53, len(stuff_ids)
  
      # For semantic segmentation, this mapping maps from contiguous stuff id
      # (in [0, 53], used in models) to ids in the dataset (used for processing results)
      # The id 0 is mapped to an extra category "thing".
      stuff_dataset_id_to_contiguous_id = {
          k: i + 1 for i, k in enumerate(stuff_ids)
      }
      # When converting COCO panoptic annotations to semantic annotations
      # We label the "thing" category to 0
      stuff_dataset_id_to_contiguous_id[0] = 0
  
      # 54 names for COCO stuff categories (including "things")
      stuff_classes = ["things"] + [
          k["name"].replace("-other", "").replace("-merged", "")
          for k in COCO_CATEGORIES
          if k["isthing"] == 0
      ]
  
      # NOTE: I randomly picked a color for things
      stuff_colors = [[82, 18, 128]] + [
          k["color"] for k in COCO_CATEGORIES if k["isthing"] == 0
      ]
      ret = {
          "stuff_dataset_id_to_contiguous_id": stuff_dataset_id_to_contiguous_id,
          "stuff_classes": stuff_classes,
          "stuff_colors": stuff_colors,
      }
      ret.update(_get_coco_instances_meta())
      return ret
  
label_desc: Use image node_id 2 for calling a global function with example usage: _get_coco_panoptic_separated_meta() and returns: ret