class_docstr: SniperCOCODataSet
class_docstr_tok: ["SniperCOCODataSet"]
code: def _parse_proposals(self):
      if self.proposals_file:
          self.proposals = {}
          logger.info(
              "Parse proposals file:{}".format(self.proposals_file)
          )
          with open(self.proposals_file, "r") as f:
              proposals = json.load(f)
          for prop in proposals:
              image_id = prop["image_id"]
              if image_id not in self.proposals:
                  self.proposals[image_id] = []
              x, y, w, h = prop["bbox"]
              self.proposals[image_id].append([x, y, x + w, y + h])
  
imports: import os
  import cv2
  import json
  import copy
  import numpy
  from ppdet.core.workspace import register, serializable
  from ppdet.data.crop_utils.annotation_cropper import AnnoCropper
  from .coco import COCODataSet
  from .dataset import _make_dataset, _is_valid_file
  from ppdet.utils.logger import setup_logger
label_desc: Use image node_id 6 for calling the SniperCOCODataSet obj's underlying member method code with example usage: obj._parse_proposals() without return types