Remove ellipses touching the edges.
[master-thesis.git] / Parasitemia / Parasitemia / ImageAnalysis.fs
index 21616af..feb427d 100644 (file)
@@ -98,7 +98,10 @@ let doAnalysis (img: Image<Bgr, byte>) (config: Config) : Classifier.Cell list =
     let windowSize = roundInt (1.6 * (snd radiusRange))
     let factorNbPick = 1.5
     let ellipses = logTime "Finding ellipses" (fun () ->
-        Ellipse.find edges xEdges yEdges radiusRange windowSize factorNbPick)
+        Ellipse.find edges xEdges yEdges radiusRange windowSize factorNbPick) |> List.filter (fun e -> not (e.CutAVericalLine 0.0) &&
+                                                                                                       not (e.CutAVericalLine (float img.Width)) &&
+                                                                                                       not (e.CutAnHorizontalLine 0.0) &&
+                                                                                                       not (e.CutAnHorizontalLine (float img.Height)))
                 
     drawEllipses img ellipses (Bgr(0.0, 255.0, 255.0))
     //saveImg img "ellipses.png"