def test_multi_ops_multiple_times_sequentially(): """Run 3 times test_full_psds using delete_ops to reset the metric""" gt = pd.read_csv(join(DATADIR, "baseline_validation_gt.csv"), sep="\t") metadata = pd.read_csv(join(DATADIR, "baseline_validation_metadata.csv"), sep="\t") dets = [] dets.append( pd.read_csv(join(DATADIR, "baseline_validation_AA_0.005.csv"), sep="\t")) for k in range(5): dets.append(dets[0].sample(4500, random_state=7 * k)) print(dets[k + 1]) psds_eval = PSDSEval(dtc_threshold=0.5, gtc_threshold=0.5, cttc_threshold=0.3, ground_truth=gt, metadata=metadata) ref_psds_value = 0.07224283564515908 for k in range(3): for det_t in dets: psds_eval.add_operating_point(det_t) psds = psds_eval.psds(0.0, 0.0, 100) assert psds.value == pytest.approx(ref_psds_value), \ "PSDS was calculated incorrectly" psds_eval.clear_all_operating_points() assert psds_eval.num_operating_points() == 0 assert len(psds_eval.operating_points) == 0
def test_delete_ops(): """Perform deletion of ops""" metadata = pd.read_csv(os.path.join(DATADIR, "test.metadata"), sep="\t") det = pd.read_csv(os.path.join(DATADIR, "test_1.det"), sep="\t") det_2 = pd.read_csv(os.path.join(DATADIR, "test_1a.det"), sep="\t") gt = pd.read_csv(os.path.join(DATADIR, "test_1.gt"), sep="\t") psds_eval = PSDSEval(dtc_threshold=0.5, gtc_threshold=0.5, cttc_threshold=0.3, ground_truth=gt, metadata=metadata) assert psds_eval.operating_points.empty psds_eval.add_operating_point(det) psds_eval.add_operating_point(det_2) assert psds_eval.num_operating_points() == 2 psds_eval.clear_all_operating_points() assert psds_eval.operating_points.empty