code: def test_cxcywh(self):
      th_boxes = torch.Tensor([10, 10, 20, 20]).reshape(1, 1, 4)
      th_boxes_cxcywh = torch.Tensor([15, 15, 10, 10]).reshape(1, 1, 4)
      boxes = HorizontalBoxes(th_boxes)
  
      assert_allclose(
          HorizontalBoxes.xyxy_to_cxcywh(th_boxes), th_boxes_cxcywh
      )
      assert_allclose(
          th_boxes, HorizontalBoxes.cxcywh_to_xyxy(th_boxes_cxcywh)
      )
      assert_allclose(boxes.cxcywh, th_boxes_cxcywh)
  
imports: import random
  from math import sqrt
  from unittest import TestCase
  import cv2
  import numpy
  import torch
  from mmengine.testing import assert_allclose
  from mmdet.structures.bbox import HorizontalBoxes
  from mmdet.structures.mask import BitmapMasks, PolygonMasks
label_desc: Use image node_id 2 for calling the TestHorizontalBoxes obj's underlying member method code with example usage: obj.test_cxcywh() without return types