class_docstr: Area under per region overlap (AUPRO) Metric.
class_docstr_tok: ["Area","under","per","region","overlap","(","AUPRO",")","Metric","."]
docstr: Compute the PRO curve.
  
  Perform the Connected Component Analysis first then compute the PRO curve.
  
  Returns:
      tuple[Tensor, Tensor]: tuple containing final fpr and tpr values.
docstr_tok: ["Compute","the","PRO","curve",".","Perform","the","Connected","Component","Analysis","first","then","compute","the","PRO","curve",".","Returns",":","tuple","[","Tensor",",","Tensor","]",":","tuple","containing","final","fpr","and","tpr","values","."]
code: def _compute(self) -> tuple[Tensor, Tensor]:
      """Compute the PRO curve.
  
      Perform the Connected Component Analysis first then compute the PRO curve.
  
      Returns:
          tuple[Tensor, Tensor]: tuple containing final fpr and tpr values.
      """
  
      cca = self.perform_cca().flatten()
      target = dim_zero_cat(self.target).flatten()
      preds = dim_zero_cat(self.preds).flatten()
  
      return self.compute_pro(cca=cca, target=target, preds=preds)
  
imports: from __future__ import annotations
  from typing import Any, Callable
  import torch
  from matplotlib.figure import Figure
  from torch import Tensor
  from torchmetrics import Metric
  from torchmetrics.functional import auc
  from torchmetrics.functional.classification import binary_roc
  from torchmetrics.utilities.data import dim_zero_cat
  from anomalib.utils.metrics.pro import connected_components_cpu, connected_components_gpu
  from .binning import thresholds_between_0_and_1, thresholds_between_min_and_max
  from .plotting_utils import plot_figure
label_desc: Use image node_id 5 for calling the AUPRO obj's underlying member method code with example usage: obj._compute() and returns: self