def _run_coco_evaluation(coco, coco_res, iou_type='bbox', threshold=None):
        if isinstance(coco_eval, UnsupportedPackage):
            coco_eval.raise_error("MSCOCOorigBaseMetric")
        cocoeval = coco_eval(coco, coco_res, iouType=iou_type)
        if threshold is not None:
            cocoeval.params.iouThrs = threshold
        cocoeval.evaluate()
        cocoeval.accumulate()
        cocoeval.summarize()
        res = cocoeval.stats.tolist()
        res_len = len(res)
        middle_index = res_len //2
        assert res_len == 12 if iou_type != 'keypoints' else 10

        res = [res[:middle_index], res[middle_index:]]

        return res