code: def test_box3diou(self):
      box1 = box_corners_from_param(
          torch.tensor([2, 2, 3]).float(), 0, torch.tensor([1, 1, 0])
      ).numpy()
      box2 = box_corners_from_param(
          torch.tensor([1, 1, 1]).float(),
          0,
          torch.tensor([0.5, 0.5, 0.5]),
      ).numpy()
      self.assertAlmostEqual(
          box3d_iou(box1, box2), 1.0 / (2 * 3 * 2), places=5
      )
  
imports: import os
  import sys
  import unittest
  import torch
  import numpy
  from torch_points3d.utils.box_utils import box_corners_from_param, box3d_vol, intersection_area, convex_hull_graham, nms_samecls, box3d_iou
  from torch_points3d.modules.VoteNet.votenet_results import VoteNetResults
  from torch_points3d.metrics.box_detection.ap import eval_detection
  from torch_points3d.datasets.object_detection.box_data import BoxData
label_desc: Use image node_id 6 for calling the TestUtils obj's underlying member method code with example usage: obj.test_box3diou() without return types