class_docstr: Area under per region overlap (AUPRO) Metric.
class_docstr_tok: ["Area","under","per","region","overlap","(","AUPRO",")","Metric","."]
docstr: Fist compute PRO curve, then compute and scale area under the curve.
  
  Returns:
      Tensor: Value of the AUPRO metric
docstr_tok: ["Fist","compute","PRO","curve",",","then","compute","and","scale","area","under","the","curve",".","Returns",":","Tensor",":","Value","of","the","AUPRO","metric"]
code: def compute(self) -> Tensor:
      """Fist compute PRO curve, then compute and scale area under the curve.
  
      Returns:
          Tensor: Value of the AUPRO metric
      """
      fpr, tpr = self._compute()
  
      aupro = auc(fpr, tpr, reorder=True)
      aupro = aupro / fpr[-1]  # normalize the area
  
      return aupro
  
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 6 for calling the AUPRO obj's underlying member method code with example usage: obj.compute() and returns: aupro