'Creates a roidb from pre-computed proposals of a particular methods.'

def _roidb_from_proposals(self, method):

    top_k = self.config['top_k']
    cache_file = osp.join(self.cache_path, ((self.name + '_{:s}_top{:d}'.format(method, top_k)) + '_roidb.pkl'))
    if osp.exists(cache_file):
        with open(cache_file, 'rb') as fid:
            roidb = cPickle.load(fid)
        print '{:s}    {:s}    roidb    loaded    from    {:s}'.format(self.name, method, cache_file)
        return roidb
    if (self._image_set in self._gt_splits):
        gt_roidb = self.gt_roidb()
        method_roidb = self._load_proposals(method, gt_roidb)
        roidb = imdb.merge_roidbs(gt_roidb, method_roidb)
        roidb = _filter_crowd_proposals(roidb, self.config['crowd_thresh'])
    else:
        roidb = self._load_proposals(method, None)
    with open(cache_file, 'wb') as fid:
        cPickle.dump(roidb, fid, cPickle.HIGHEST_PROTOCOL)
    print 'wrote    {:s}    roidb    to    {:s}'.format(method, cache_file)
    return roidb
