code: def prune_non_overlapping_boxes(boxlist1, boxlist2, minoverlap=0.0):
      """Prunes the boxes in boxlist1 that overlap less than thresh with boxlist2.
  
      For each box in boxlist1, we want its IOA to be more than minoverlap with
      at least one of the boxes in boxlist2. If it does not, we remove it.
  
      Args:
        boxlist1: BoxList holding N boxes.
        boxlist2: BoxList holding M boxes.
        minoverlap: Minimum required overlap between boxes, to count them as
                    overlapping.
  
      Returns:
        A pruned boxlist with size [N', 4].
      """
      intersection_over_area = ioa(boxlist2, boxlist1)  # [M, N] tensor
      intersection_over_area = np.amax(
          intersection_over_area, axis=0
      )  # [N] tensor
      keep_bool = np.greater_equal(
          intersection_over_area, np.array(minoverlap)
      )
      keep_inds = np.nonzero(keep_bool)[0]
      new_boxlist1 = gather(boxlist1, keep_inds)
      return new_boxlist1
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import numpy
  from .None import np_box_list, np_box_ops
label_desc: Use image node_id 11 for calling a global function with example usage: prune_non_overlapping_boxes(boxlist1, boxlist2, minoverlap) and returns: new_boxlist1