Add some GUI elements :
[master-thesis.git] / Parasitemia / ParasitemiaCore / Ellipse.fs
index e65100b..1059e3b 100644 (file)
@@ -261,8 +261,8 @@ let private areVectorsValid (p1x: float32) (p1y: float32) (p2x: float32) (p2y: f
 
 
 let find (edges: Matrix<byte>)
-         (xGradient: Image<Gray, float32>)
-         (yGradient: Image<Gray, float32>)
+         (xGradient: Matrix<float32>)
+         (yGradient: Matrix<float32>)
          (config: Config) : MatchingEllipses =
 
     let r1, r2 = config.RBCRadius.Min, config.RBCRadius.Max
@@ -334,7 +334,7 @@ let find (edges: Matrix<byte>)
                            squaredDistance p1xf p1yf p3xf p3yf >= squaredMinimumDistance &&
                            squaredDistance p2xf p2yf p3xf p3yf >= squaredMinimumDistance
                         then
-                            match areVectorsValid (float32 p1xf) (float32 p1yf) (float32 p2xf) (float32 p2yf) -xDirData.[p1.Y, p1.X, 0] -yDirData.[p1.Y, p1.X, 0] -xDirData.[p2.Y, p2.X, 0] -yDirData.[p2.Y, p2.X, 0] with
+                            match areVectorsValid (float32 p1xf) (float32 p1yf) (float32 p2xf) (float32 p2yf) -xDirData.[p1.Y, p1.X] -yDirData.[p1.Y, p1.X] -xDirData.[p2.Y, p2.X] -yDirData.[p2.Y, p2.X] with
                             | Some (m1, m2) ->
                                 match ellipse2 p1xf p1yf (float m1) p2xf p2yf (float m2) p3xf p3yf with
                                 | Some e when e.Cx > 0.f && e.Cx < w_f - 1.f && e.Cy > 0.f && e.Cy < h_f - 1.f &&