class_docstr: Evaluate detection result of a single image.
class_docstr_tok: ["Evaluate","detection","result","of","a","single","image","."]
docstr: Labels true/false positives of detections of an image across all classes.
  
  Args:
    detected_boxes: A float numpy array of shape [N, 4], representing N
        regions of detected object regions.
        Each row is of the format [y_min, x_min, y_max, x_max]
    detected_scores: A float numpy array of shape [N, 1], representing
        the confidence scores of the detected N object instances.
    detected_class_labels: A integer numpy array of shape [N, 1], repreneting
        the class labels of the detected N object instances.
    groundtruth_boxes: A float numpy array of shape [M, 4], representing M
        regions of object instances in ground truth
    groundtruth_class_labels: An integer numpy array of shape [M, 1],
        representing M class labels of object instances in ground truth
    groundtruth_is_difficult_list: A boolean numpy array of length M denoting
        whether a ground truth box is a difficult instance or not
    groundtruth_is_group_of_list: A boolean numpy array of length M denoting
        whether a ground truth box has group-of tag
    detected_masks: (optional) A np.uint8 numpy array of shape
      [N, height, width]. If not None, the scores will be computed based
      on masks.
    groundtruth_masks: (optional) A np.uint8 numpy array of shape
      [M, height, width].
  
  Returns:
    result_scores: A list of float numpy arrays. Each numpy array is of
        shape [K, 1], representing K scores detected with object class
        label c
    result_tp_fp_labels: A list of boolean numpy array. Each numpy array is of
        shape [K, 1], representing K True/False positive label of object
        instances detected with class label c
  
  Raises:
    ValueError: If detected masks is not None but groundtruth masks are None,
      or the other way around.
docstr_tok: ["Labels","true\/false","positives","of","detections","of","an","image","across","all","classes",".","Args",":","detected_boxes",":","A","float","numpy","array","of","shape","[","N",",","4","]",",","representing","N","regions","of","detected","object","regions",".","Each","row","is","of","the","format","[","y_min",",","x_min",",","y_max",",","x_max","]","detected_scores",":","A","float","numpy","array","of","shape","[","N",",","1","]",",","representing","the","confidence","scores","of","the","detected","N","object","instances",".","detected_class_labels",":","A","integer","numpy","array","of","shape","[","N",",","1","]",",","repreneting","the","class","labels","of","the","detected","N","object","instances",".","groundtruth_boxes",":","A","float","numpy","array","of","shape","[","M",",","4","]",",","representing","M","regions","of","object","instances","in","ground","truth","groundtruth_class_labels",":","An","integer","numpy","array","of","shape","[","M",",","1","]",",","representing","M","class","labels","of","object","instances","in","ground","truth","groundtruth_is_difficult_list",":","A","boolean","numpy","array","of","length","M","denoting","whether","a","ground","truth","box","is","a","difficult","instance","or","not","groundtruth_is_group_of_list",":","A","boolean","numpy","array","of","length","M","denoting","whether","a","ground","truth","box","has","group-of","tag","detected_masks",":","(","optional",")","A","np.uint8","numpy","array","of","shape","[","N",",","height",",","width","]",".","If","not","None",",","the","scores","will","be","computed","based","on","masks",".","groundtruth_masks",":","(","optional",")","A","np.uint8","numpy","array","of","shape","[","M",",","height",",","width","]",".","Returns",":","result_scores",":","A","list","of","float","numpy","arrays",".","Each","numpy","array","is","of","shape","[","K",",","1","]",",","representing","K","scores","detected","with","object","class","label","c","result_tp_fp_labels",":","A","list","of","boolean","numpy","array",".","Each","numpy","array","is","of","shape","[","K",",","1","]",",","representing","K","True\/False","positive","label","of","object","instances","detected","with","class","label","c","Raises",":","ValueError",":","If","detected","masks","is","not","None","but","groundtruth","masks","are","None",",","or","the","other","way","around","."]
code: def _compute_tp_fp(
      self,
      detected_boxes,
      detected_scores,
      detected_class_labels,
      groundtruth_boxes,
      groundtruth_class_labels,
      groundtruth_is_difficult_list,
      groundtruth_is_group_of_list,
      detected_masks=None,
      groundtruth_masks=None,
  ):
      """Labels true/false positives of detections of an image across all classes.
  
      Args:
        detected_boxes: A float numpy array of shape [N, 4], representing N
            regions of detected object regions.
            Each row is of the format [y_min, x_min, y_max, x_max]
        detected_scores: A float numpy array of shape [N, 1], representing
            the confidence scores of the detected N object instances.
        detected_class_labels: A integer numpy array of shape [N, 1], repreneting
            the class labels of the detected N object instances.
        groundtruth_boxes: A float numpy array of shape [M, 4], representing M
            regions of object instances in ground truth
        groundtruth_class_labels: An integer numpy array of shape [M, 1],
            representing M class labels of object instances in ground truth
        groundtruth_is_difficult_list: A boolean numpy array of length M denoting
            whether a ground truth box is a difficult instance or not
        groundtruth_is_group_of_list: A boolean numpy array of length M denoting
            whether a ground truth box has group-of tag
        detected_masks: (optional) A np.uint8 numpy array of shape
          [N, height, width]. If not None, the scores will be computed based
          on masks.
        groundtruth_masks: (optional) A np.uint8 numpy array of shape
          [M, height, width].
  
      Returns:
        result_scores: A list of float numpy arrays. Each numpy array is of
            shape [K, 1], representing K scores detected with object class
            label c
        result_tp_fp_labels: A list of boolean numpy array. Each numpy array is of
            shape [K, 1], representing K True/False positive label of object
            instances detected with class label c
  
      Raises:
        ValueError: If detected masks is not None but groundtruth masks are None,
          or the other way around.
      """
      if detected_masks is not None and groundtruth_masks is None:
          raise ValueError(
              "Detected masks is available but groundtruth masks is not."
          )
      if detected_masks is None and groundtruth_masks is not None:
          raise ValueError(
              "Groundtruth masks is available but detected masks is not."
          )
  
      result_scores = []
      result_tp_fp_labels = []
      for i in range(self.num_groundtruth_classes):
          groundtruth_is_difficult_list_at_ith_class = (
              groundtruth_is_difficult_list[
                  groundtruth_class_labels == i
              ]
          )
          groundtruth_is_group_of_list_at_ith_class = (
              groundtruth_is_group_of_list[
                  groundtruth_class_labels == i
              ]
          )
          (
              gt_boxes_at_ith_class,
              gt_masks_at_ith_class,
              detected_boxes_at_ith_class,
              detected_scores_at_ith_class,
              detected_masks_at_ith_class,
          ) = self._get_ith_class_arrays(
              detected_boxes,
              detected_scores,
              detected_masks,
              detected_class_labels,
              groundtruth_boxes,
              groundtruth_masks,
              groundtruth_class_labels,
              i,
          )
          scores, tp_fp_labels = self._compute_tp_fp_for_single_class(
              detected_boxes=detected_boxes_at_ith_class,
              detected_scores=detected_scores_at_ith_class,
              groundtruth_boxes=gt_boxes_at_ith_class,
              groundtruth_is_difficult_list=groundtruth_is_difficult_list_at_ith_class,
              groundtruth_is_group_of_list=groundtruth_is_group_of_list_at_ith_class,
              detected_masks=detected_masks_at_ith_class,
              groundtruth_masks=gt_masks_at_ith_class,
          )
          result_scores.append(scores)
          result_tp_fp_labels.append(tp_fp_labels)
      return result_scores, result_tp_fp_labels
  
file_path: SlowFast/ava_evaluation/per_image_evaluation.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import numpy
  from .None import np_box_list, np_box_list_ops, np_box_mask_list, np_box_mask_list_ops
label_desc: Use image node_id 3 for calling the PerImageEvaluation obj's underlying member method code with example usage: obj._compute_tp_fp(detected_boxes, detected_scores, detected_class_labels, groundtruth_boxes, groundtruth_class_labels, groundtruth_is_difficult_list, groundtruth_is_group_of_list, detected_masks, groundtruth_masks) and returns: result_scores,  result_tp_fp_labels