Commit 8c6e8f901bfa9fb8d149cb466749f1dacf6a3069

Authored by bhklein
1 parent 75770527

handle exponent edge cases

Showing 1 changed file with 3 additions and 4 deletions
openbr/core/eval.cpp
... ... @@ -232,7 +232,6 @@ float Evaluate(const Mat &simmat, const Mat &mask, const File &csv, const QStrin
232 232 if (numNaNs > 0) qWarning("Encountered %d NaN scores!", numNaNs);
233 233 if (genuineCount == 0) qFatal("No genuine scores!");
234 234 if (impostorCount == 0) qFatal("No impostor scores!");
235   - if (totalImpostorSearches == 0) totalImpostorSearches = 10;
236 235  
237 236 // Sort comparisons by simmat_val (score)
238 237 std::stable_sort(comparisons.begin(), comparisons.end());
... ... @@ -347,9 +346,9 @@ float Evaluate(const Mat &simmat, const Mat &mask, const File &csv, const QStrin
347 346 }
348 347  
349 348 // Write Detection Error Tradeoff (DET), PRE, REC, Identification Error Tradeoff (IET)
350   - float expFAR = csv.get<float>("FAR", ceil(log10(impostorCount)));
351   - float expFRR = csv.get<float>("FRR", ceil(log10(genuineCount)));
352   - float expFPIR = csv.get<float>("FPIR", ceil(log10(totalImpostorSearches)));
  349 + float expFAR = csv.get<float>("FAR", std::max(ceil(log10(impostorCount)), 1.0));
  350 + float expFRR = csv.get<float>("FRR", std::max(ceil(log10(genuineCount)), 1.0));
  351 + float expFPIR = csv.get<float>("FPIR", std::max(ceil(log10(totalImpostorSearches)), 1.0));
353 352  
354 353 float FARstep = expFAR / (float)(Max_Points - 1);
355 354 float FRRstep = expFRR / (float)(Max_Points - 1);
... ...