code: def test_nms(self):
      boxes = np.asarray([[0, 0, 0, 1, 1, 1], [0, 0, 0, 0.5, 0.5, 0.5]])
      classes = np.asarray([0, 0])
      scores = np.asarray([0, 1])
      self.assertEqual(nms_samecls(boxes, classes, scores), [1, 0])
      self.assertEqual(nms_samecls(boxes, classes, scores, 0.1), [1])
  
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 5 for calling the TestUtils obj's underlying member method code with example usage: obj.test_nms() without return types