X-Git-Url: http://git.euphorik.ch/?p=master-thesis.git;a=blobdiff_plain;f=Parasitemia%2FParasitemiaCore%2FMatchingEllipses.fs;fp=Parasitemia%2FParasitemiaCore%2FMatchingEllipses.fs;h=d4a6a41c72c9ec96a6c62d5d2358b8311aeb41c7;hp=af72e57b944b71476a6b64f51b607d610a4178d7;hb=000e7091983f20ef75d0eba9bf1c865c76483f24;hpb=85adb74195fe7145535d3d36263aec2f7879cd60 diff --git a/Parasitemia/ParasitemiaCore/MatchingEllipses.fs b/Parasitemia/ParasitemiaCore/MatchingEllipses.fs index af72e57..d4a6a41 100644 --- a/Parasitemia/ParasitemiaCore/MatchingEllipses.fs +++ b/Parasitemia/ParasitemiaCore/MatchingEllipses.fs @@ -12,8 +12,9 @@ open Utils // All ellipses with a score below this are removed. let matchingScoreThresholdPerRadiusUnit = 0.07f // For a radius of 1. // 0.25 let matchingScorePower = 20.f -let windowSizeRadiusFactor = 1.f / 2.f +let windowSizeRadiusFactor = 1.f / 2.f // Used when searching for neighbor ellipses. let minimumDistanceFromCenterRadiusFactor = 1.f / 3.f +let minimumAreaFactor = 1.1f; type private EllipseScoreFlaggedKd (matchingScore: float32, e: Ellipse) = let mutable matchingScore = matchingScore @@ -92,7 +93,7 @@ type MatchingEllipses (radius: float32) = else // Case where ellipses are overlapped. match EEOver.EEOverlapArea e.Ellipse other.Ellipse with - | Some (overlapArea, _, _) when e.Ellipse.Area < 1.1f * overlapArea || other.Ellipse.Area < 1.1f * overlapArea -> + | Some (overlapArea, _, _) when e.Ellipse.Area < minimumAreaFactor * overlapArea || other.Ellipse.Area < minimumAreaFactor * overlapArea -> other.Removed <- true | _ -> ()