code: def compute_non_partial_auc(fpr, pro, at_fpr=1.0):
      acut = 0.0  # area cut
      area = 0.0  # area all
      assert 1 < len(pro)
      assert len(fpr) == len(pro)
      for i in range(len(fpr)):
          # calculate bin_size
          if len(fpr) - 1 != i:
              fpr_right = fpr[i + 1]
          else:
              fpr_right = 1.0
          b_left = (fpr[i] - fpr[i - 1]) / 2
          b_right = (fpr_right - fpr[i]) / 2
          if 0 == i:  # left-end
              b = fpr[i] + b_right
          elif len(fpr) - 1 == i:  # right-end
              b = b_left + 1.0 - fpr[i]
          else:
              b = b_left + b_right
          # calculate area
          if fpr[i] + b_right > at_fpr:
              b_cut = max(0, at_fpr - fpr[i] + b_left)  # bin cut
              acut += b_cut * pro[i]
          else:
              acut += b * pro[i]
          area += b * pro[i]
      return acut / at_fpr
  
imports: import os
  import argparse
  import numpy
  import matplotlib
  import matplotlib.pyplot
  from sklearn.metrics import roc_curve, auc
  from tqdm import tqdm
  from skimage import measure, morphology
  from skimage.segmentation import mark_boundaries
  import paddle
label_desc: Use image node_id 13 for calling a global function with example usage: compute_non_partial_auc(fpr, pro, at_fpr) and returns: unknown