async def METHOD_NAME(self, name=None):
    req = ObjectDBQueryRequest()
    if name is None:
        req.name = "all"
    else:
        req.name = name
    obj = await self._database(req)
    if obj is None or not obj.found:
        return (None, None)
    rois = []
    ros_img = await self._get_closest_image(obj.objects[0].header.stamp)
    if ros_img is None:
        return (None, None)
    img = self.bridge.imgmsg_to_cv2(ros_img, "mono8")
    o = obj.objects[0]
    points_3d = await self.get_3d_points(o)
    points_2d_all = (self.camera_model.project3dToPixel(x) for x in points_3d)
    points_2d = self._get_2d_points(points_3d)
    xmin, ymin, xmax, ymax = self._get_bounding_rect(points_2d, img)
    xmin, ymin, xmax, ymax = int(xmin), int(ymin), int(xmax), int(ymax)
    h, w, r = img.shape
    if (
        xmin < 0
        or xmax < 0
        or xmin > w
        or xmax > w
        or xmax - xmin == 0
        or ymax - ymin == 0
    ):
        return (None, None)
    if ymin < 0:
        ymin = 0
    roi = img[ymin:ymax, xmin:xmax]
    roi = self._resize_image(roi)
    ret_obj = {}
    ret_obj["id"] = o.id
    ret_obj["points"] = points_2d_all
    ret_obj["img"] = roi
    ret_obj["time"] = o.header.stamp
    ret_obj["name"] = o.name
    ret_obj["bbox"] = [xmin, ymin, xmax, ymax]
    rois.append(ret_obj)
    return (img, rois)