Use float32 images instead of byte to improve the edge detection precision.
[master-thesis.git] / Parasitemia / Parasitemia / Classifier.fs
index 7f11e13..f17c0b9 100644 (file)
@@ -21,7 +21,7 @@ type private EllipseFlaggedKd (e: Ellipse) =
         member this.Y = this.Cy
 
 
-let findCells (ellipses: Ellipse list) (parasites: ParasitesMarker.Result) (img: Image<Gray, byte>) (config: Config.Config) : Cell list =
+let findCells (ellipses: Ellipse list) (parasites: ParasitesMarker.Result) (img: Image<Gray, float32>) (config: Config.Config) : Cell list =
     if ellipses.IsEmpty
     then
         []
@@ -100,7 +100,7 @@ let findCells (ellipses: Ellipse list) (parasites: ParasitesMarker.Result) (img:
         let globalStdDeviation = MathNet.Numerics.Statistics.Statistics.StandardDeviation(seq {
             for y in 0 .. h - 1 do
                 for x in 0 .. w - 1 do
-                    yield img.Data.[y, x, 0] |> float })
+                    yield float img.Data.[y, x, 0] })
 
         for e in ellipses do
             let minX, minY, maxX, maxY = ellipseWindow e