code: def prune_non_overlapping_masks(
      box_mask_list1, box_mask_list2, minoverlap=0.0
  ):
      """Prunes the boxes in list1 that overlap less than thresh with list2.
  
      For each mask in box_mask_list1, we want its IOA to be more than minoverlap
      with at least one of the masks in box_mask_list2. If it does not, we remove
      it. If the masks are not full size image, we do the pruning based on boxes.
  
      Args:
        box_mask_list1: np_box_mask_list.BoxMaskList holding N boxes and masks.
        box_mask_list2: np_box_mask_list.BoxMaskList holding M boxes and masks.
        minoverlap: Minimum required overlap between boxes, to count them as
                    overlapping.
  
      Returns:
        A pruned box_mask_list with size [N', 4].
      """
      intersection_over_area = ioa(
          box_mask_list2, box_mask_list1
      )  # [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_box_mask_list1 = gather(box_mask_list1, keep_inds)
      return new_box_mask_list1
  
file_path: SlowFast/ava_evaluation/np_box_mask_list_ops.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import numpy
  from .None import np_box_list_ops, np_box_mask_list, np_mask_ops
label_desc: Use image node_id 10 for calling a global function with example usage: prune_non_overlapping_masks(box_mask_list1, box_mask_list2, minoverlap) and returns: new_box_mask_list1