class_docstr: Evaluate with Free Response Operating Characteristic (FROC) score.
  
  Args:
      data: either the list of dictionaries containing probability maps (inference result) and
          tumor mask (ground truth), as below, or the path to a json file containing such list.
          `{
          "prob_map": "path/to/prob_map_1.npy",
          "tumor_mask": "path/to/ground_truth_1.tiff",
          "level": 6,
          "pixel_spacing": 0.243
          }`
      grow_distance: Euclidean distance (in micrometer) by which to grow the label the ground truth's tumors.
          Defaults to 75, which is the equivalent size of 5 tumor cells.
      itc_diameter: the maximum diameter of a region (in micrometer) to be considered as an isolated tumor cell.
          Defaults to 200.
      eval_thresholds: the false positive rates for calculating the average sensitivity.
          Defaults to (0.25, 0.5, 1, 2, 4, 8) which is the same as the CAMELYON 16 Challenge.
      nms_sigma: the standard deviation for gaussian filter of non-maximal suppression. Defaults to 0.0.
      nms_prob_threshold: the probability threshold of non-maximal suppression. Defaults to 0.5.
      nms_box_size: the box size (in pixel) to be removed around the pixel for non-maximal suppression.
      image_reader_name: the name of library to be used for loading whole slide imaging, either CuCIM or OpenSlide.
          Defaults to CuCIM.
  
  Note:
      For more info on `nms_*` parameters look at monai.utils.prob_nms.ProbNMS`.
docstr: Compute false positive and true positive probabilities for tumor detection,
  by comparing the model outputs with the prepared ground truths for all samples
docstr_tok: ["Compute","false","positive","and","true","positive","probabilities","for","tumor","detection",",","by","comparing","the","model","outputs","with","the","prepared","ground","truths","for","all","samples"]
code: def compute_fp_tp(self):
      """
      Compute false positive and true positive probabilities for tumor detection,
      by comparing the model outputs with the prepared ground truths for all samples
  
      """
      total_fp_probs: list[NdarrayOrTensor] = []
      total_tp_probs: list[NdarrayOrTensor] = []
      total_num_targets = 0
      num_images = len(self.data)
  
      for sample in tqdm(self.data):
          probs, y_coord, x_coord = self.prepare_inference_result(
              sample
          )
          ground_truth, itc_labels = self.prepare_ground_truth(sample)
          # compute FP and TP probabilities for a pair of an image and an ground truth mask
          fp_probs, tp_probs, num_targets = compute_fp_tp_probs(
              probs=probs,
              y_coord=y_coord,
              x_coord=x_coord,
              evaluation_mask=ground_truth,
              labels_to_exclude=itc_labels,
              resolution_level=sample["level"],
          )
          total_fp_probs.extend(fp_probs)
          total_tp_probs.extend(tp_probs)
          total_num_targets += num_targets
  
      return (
          np.array(total_fp_probs),
          np.array(total_tp_probs),
          total_num_targets,
          num_images,
      )
  
file_path: MONAI/monai/apps/pathology/metrics/lesion_froc.py
imports: from __future__ import annotations
  from typing import TYPE_CHECKING, Any, Iterable
  import numpy
  from monai.apps.pathology.utils import PathologyProbNMS, compute_isolated_tumor_cells, compute_multi_instance_mask
  from monai.config import NdarrayOrTensor
  from monai.data.wsi_reader import WSIReader
  from monai.metrics import compute_fp_tp_probs, compute_froc_curve_data, compute_froc_score
  from monai.utils import min_version, optional_import
label_desc: Use image node_id 4 for calling the LesionFROC obj's underlying member method code with example usage: obj.compute_fp_tp() and returns: np,  np,  total_num_targets,  num_images