From 8c6e8f901bfa9fb8d149cb466749f1dacf6a3069 Mon Sep 17 00:00:00 2001 From: bhklein Date: Wed, 29 Apr 2015 19:14:57 -0400 Subject: [PATCH] handle exponent edge cases --- openbr/core/eval.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/openbr/core/eval.cpp b/openbr/core/eval.cpp index 4310915..7f99c80 100755 --- a/openbr/core/eval.cpp +++ b/openbr/core/eval.cpp @@ -232,7 +232,6 @@ float Evaluate(const Mat &simmat, const Mat &mask, const File &csv, const QStrin if (numNaNs > 0) qWarning("Encountered %d NaN scores!", numNaNs); if (genuineCount == 0) qFatal("No genuine scores!"); if (impostorCount == 0) qFatal("No impostor scores!"); - if (totalImpostorSearches == 0) totalImpostorSearches = 10; // Sort comparisons by simmat_val (score) std::stable_sort(comparisons.begin(), comparisons.end()); @@ -347,9 +346,9 @@ float Evaluate(const Mat &simmat, const Mat &mask, const File &csv, const QStrin } // Write Detection Error Tradeoff (DET), PRE, REC, Identification Error Tradeoff (IET) - float expFAR = csv.get("FAR", ceil(log10(impostorCount))); - float expFRR = csv.get("FRR", ceil(log10(genuineCount))); - float expFPIR = csv.get("FPIR", ceil(log10(totalImpostorSearches))); + float expFAR = csv.get("FAR", std::max(ceil(log10(impostorCount)), 1.0)); + float expFRR = csv.get("FRR", std::max(ceil(log10(genuineCount)), 1.0)); + float expFPIR = csv.get("FPIR", std::max(ceil(log10(totalImpostorSearches)), 1.0)); float FARstep = expFAR / (float)(Max_Points - 1); float FRRstep = expFRR / (float)(Max_Points - 1); -- libgit2 0.21.4