X-Git-Url: http://git.euphorik.ch/?p=master-thesis.git;a=blobdiff_plain;f=Parasitemia%2FParasitemiaCore%2FMatchingEllipses.fs;h=bfa042b0239232583f77687a7ecaf3edb190616d;hp=3ed8ad6ac06bd6fda61bcd4bde7d7b5723a99878;hb=e588f9c954a54cb259b2c1f6f9e8d9dbd4639269;hpb=3f8b0d281b3058faf23dbd0363de440bd04c6574 diff --git a/Parasitemia/ParasitemiaCore/MatchingEllipses.fs b/Parasitemia/ParasitemiaCore/MatchingEllipses.fs index 3ed8ad6..bfa042b 100644 --- a/Parasitemia/ParasitemiaCore/MatchingEllipses.fs +++ b/Parasitemia/ParasitemiaCore/MatchingEllipses.fs @@ -10,10 +10,10 @@ open Types open Utils // All ellipses with a score below this are removed. -let matchingScoreThreshold = 0.4f +let matchingScoreThresholdPerRadiusUnit = 0.02f // For a radius of 1. let matchingScorePower = 20.f let windowSizeRadiusFactor = 1.f / 2.f -let minimumDistanceFromCenterRadiusFactor = 1.f / 3.f +let minimumDistanceFromCenterRadiusFactor = 1.f / 3.f // 1.f / 3.f type private EllipseScoreFlaggedKd (matchingScore: float32, e: Ellipse) = let mutable matchingScore = matchingScore @@ -72,6 +72,7 @@ type MatchingEllipses (radius: float32) = | _ -> () // 3) Remove ellipses whose center is near the center of another ellipse with a better score. + let matchingScoreThreshold = matchingScoreThresholdPerRadiusUnit * radius for e in ellipses do if e.MatchingScore < matchingScoreThreshold then