'Prepare ._gts and ._dts for evaluation based on params
:return: None'

def _prepare(self):

    def _toMask(objs, coco):
        for obj in objs:
            t = coco.imgs[obj['image_id']]
            if (type(obj['segmentation']) == list):
                if (type(obj['segmentation'][0]) == dict):
                    print 'debug'
                obj['segmentation'] = mask.frPyObjects(obj['segmentation'], t['height'], t['width'])
                if (len(obj['segmentation']) == 1):
                    obj['segmentation'] = obj['segmentation'][0]
                else:
                    obj['segmentation'] = mask.merge(obj['segmentation'])
            elif ((type(obj['segmentation']) == dict) and (type(obj['segmentation']['counts']) == list)):
                obj['segmentation'] = mask.frPyObjects([obj['segmentation']], t['height'], t['width'])[0]
            elif ((type(obj['segmentation']) == dict) and type(((obj['segmentation']['counts'] == unicode) or (type(obj['segmentation']['counts']) == str)))):
                pass
            else:
                raise Exception('segmentation    format    not    supported.')
    p = self.params
    if p.useCats:
        gts = self.cocoGt.loadAnns(self.cocoGt.getAnnIds(imgIds=p.imgIds, catIds=p.catIds))
        dts = self.cocoDt.loadAnns(self.cocoDt.getAnnIds(imgIds=p.imgIds, catIds=p.catIds))
    else:
        gts = self.cocoGt.loadAnns(self.cocoGt.getAnnIds(imgIds=p.imgIds))
        dts = self.cocoDt.loadAnns(self.cocoDt.getAnnIds(imgIds=p.imgIds))
    if p.useSegm:
        _toMask(gts, self.cocoGt)
        _toMask(dts, self.cocoDt)
    self._gts = defaultdict(list)
    self._dts = defaultdict(list)
    for gt in gts:
        self._gts[(gt['image_id'], gt['category_id'])].append(gt)
    for dt in dts:
        self._dts[(dt['image_id'], dt['category_id'])].append(dt)
    self.evalImgs = defaultdict(list)
    self.eval = {}
