code: def associate_only_iou(detections, trackers, iou_threshold):
      if len(trackers) == 0:
          return (
              np.empty((0, 2), dtype=int),
              np.arange(len(detections)),
              np.empty((0, 5), dtype=int),
          )
  
      iou_matrix = iou_batch(detections, trackers)
  
      if min(iou_matrix.shape) > 0:
          a = (iou_matrix > iou_threshold).astype(np.int32)
          if a.sum(1).max() == 1 and a.sum(0).max() == 1:
              matched_indices = np.stack(np.where(a), axis=1)
          else:
              matched_indices = linear_assignment(-iou_matrix)
      else:
          matched_indices = np.empty(shape=(0, 2))
  
      unmatched_detections = []
      for d, det in enumerate(detections):
          if d not in matched_indices[:, 0]:
              unmatched_detections.append(d)
      unmatched_trackers = []
      for t, trk in enumerate(trackers):
          if t not in matched_indices[:, 1]:
              unmatched_trackers.append(t)
  
      # filter out matched with low IOU
      matches = []
      for m in matched_indices:
          if iou_matrix[m[0], m[1]] < iou_threshold:
              unmatched_detections.append(m[0])
              unmatched_trackers.append(m[1])
          else:
              matches.append(m.reshape(1, 2))
      if len(matches) == 0:
          matches = np.empty((0, 2), dtype=int)
      else:
          matches = np.concatenate(matches, axis=0)
      return (
          matches,
          np.array(unmatched_detections),
          np.array(unmatched_trackers),
      )
  
imports: import os
  import numpy
label_desc: Use image node_id 5 for calling a global function with example usage: associate_only_iou(detections, trackers, iou_threshold) and returns: matches,  np,  np, np,  np,  np