docstr: Convert ``xyxy`` style bounding boxes to ``xywh`` style for COCO
  evaluation.
  
  Args:
      bbox (numpy.ndarray): The bounding boxes, shape (4, ), in
          ``xyxy`` order.
  
  Returns:
      list[float]: The converted bounding boxes, in ``xywh`` order.
docstr_tok: ["Convert","``","xyxy","``","style","bounding","boxes","to","``","xywh","``","style","for","COCO","evaluation",".","Args",":","bbox","(","numpy.ndarray",")",":","The","bounding","boxes",",","shape","(","4",",",")",",","in","``","xyxy","``","order",".","Returns",":","list","[","float","]",":","The","converted","bounding","boxes",",","in","``","xywh","``","order","."]
code: def xyxy2xywh(self, bbox: np.ndarray) -> list:
      """Convert ``xyxy`` style bounding boxes to ``xywh`` style for COCO
      evaluation.
  
      Args:
          bbox (numpy.ndarray): The bounding boxes, shape (4, ), in
              ``xyxy`` order.
  
      Returns:
          list[float]: The converted bounding boxes, in ``xywh`` order.
      """
  
      _bbox: List = bbox.tolist()
      return [
          _bbox[0],
          _bbox[1],
          _bbox[2] - _bbox[0],
          _bbox[3] - _bbox[1],
      ]
  
file_path: mmdetection/mmdet/evaluation/metrics/dod_metric.py
imports: from collections import defaultdict
  from typing import List, Optional, Sequence
  import numpy
  from mmengine.evaluator import BaseMetric
  from mmengine.fileio import get_local_path
  from mmengine.logging import MMLogger
  from mmdet.datasets.api_wrappers import COCO, COCOeval
  from mmdet.registry import METRICS
label_desc: Use image node_id 3 for calling the DODCocoMetric obj's underlying member method code with example usage: obj.xyxy2xywh(bbox) and returns: list