def ROC_curve(P_f, X_o, X_min, n_prob_thrs=10, compute_area=False):
    """
    Compute the ROC curve and its area from the given ROC object.

    Parameters
    ----------
    P_f: array_like
      Forecasted probabilities for exceeding the threshold specified in the ROC
      object. Non-finite values are ignored.
    X_o: array_like
      Observed values. Non-finite values are ignored.
    X_min: float
      Precipitation intensity threshold for yes/no prediction.
    n_prob_thrs: int
      The number of probability thresholds to use.
      The interval [0,1] is divided into n_prob_thrs evenly spaced values.
    compute_area: bool
      If True, compute the area under the ROC curve (between 0.5 and 1).

    Returns
    -------
    out: tuple
      A two-element tuple containing the probability of detection (POD) and
      probability of false detection (POFD) for the probability thresholds
      specified in the ROC curve object. If compute_area is True, return the
      area under the ROC curve as the third element of the tuple.
    """

    P_f = P_f.copy()
    X_o = X_o.copy()
    roc = ROC_curve_init(X_min, n_prob_thrs)
    ROC_curve_accum(roc, P_f, X_o)
    return ROC_curve_compute(roc, compute_area)
Compute the ROC curve and its area from the given ROC object.

Parameters
----------
P_f: array_like
Forecasted probabilities for exceeding the threshold specified in the ROC
object. Non-finite values are ignored.
X_o: array_like
Observed values. Non-finite values are ignored.
X_min: float
Precipitation intensity threshold for yes/no prediction.
n_prob_thrs: int
The number of probability thresholds to use.
The interval [0,1] is divided into n_prob_thrs evenly spaced values.
compute_area: bool
If True, compute the area under the ROC curve (between 0.5 and 1).

Returns
-------
out: tuple
A two-element tuple containing the probability of detection (POD) and
probability of false detection (POFD) for the probability thresholds
specified in the ROC curve object. If compute_area is True, return the
area under the ROC curve as the third element of the tuple.
pysteps/verification/probscores.py