Update coding style.
[master-thesis.git] / Parasitemia / ParasitemiaCore / ImgTools / Drawing.fs
index edf4cd2..2882f4b 100644 (file)
@@ -9,20 +9,19 @@ open Emgu.CV.Structure
 open Const
 open Types
 
-let drawPoints (img: Image<Gray, 'TDepth>) (points: Points) (intensity: 'TDepth) =
+let drawPoints (img : Image<Gray, 'TDepth>) (points : Points) (intensity : 'TDepth) =
     for p in points do
         img.Data.[p.Y, p.X, 0] <- intensity
 
-let drawLine (img: Image<'TColor, 'TDepth>) (color: 'TColor) (x0: int) (y0: int) (x1: int) (y1: int) (thickness: int) =
-    img.Draw(LineSegment2D(Point(x0, y0), Point(x1, y1)), color, thickness);
+let drawLine (img : Image<'TColor, 'TDepth>) (color : 'TColor) (x0 : int) (y0 : int) (x1 : int) (y1 : int) (thickness : int) =
+    img.Draw (LineSegment2D (Point (x0, y0), Point (x1, y1)), color, thickness);
 
-let drawLineF (img: Image<'TColor, 'TDepth>) (color: 'TColor) (x0: float) (y0: float) (x1: float) (y1: float) (thickness: int) =
-    img.Draw(LineSegment2DF(PointF(float32 x0, float32 y0), PointF(float32 x1, float32 y1)), color, thickness, CvEnum.LineType.AntiAlias);
+let drawLineF (img : Image<'TColor, 'TDepth>) (color : 'TColor) (x0 : float) (y0 : float) (x1 : float) (y1 : float) (thickness : int) =
+    img.Draw (LineSegment2DF (PointF (float32 x0, float32 y0), PointF  (float32 x1, float32 y1)), color, thickness, CvEnum.LineType.AntiAlias);
 
-let drawEllipse (img: Image<'TColor, 'TDepth>) (e: Ellipse) (color: 'TColor) (alpha: float) =
-    if alpha >= 1.0
-    then
-        img.Draw(Emgu.CV.Structure.Ellipse(PointF(e.Cx, e.Cy), SizeF(2.f * e.B, 2.f * e.A), e.Alpha / PI * 180.f), color, 1, CvEnum.LineType.AntiAlias)
+let drawEllipse (img : Image<'TColor, 'TDepth>) (e : Ellipse) (color : 'TColor) (alpha : float) =
+    if alpha >= 1.0 then
+        img.Draw (Emgu.CV.Structure.Ellipse (PointF (e.Cx, e.Cy), SizeF (2.f * e.B, 2.f * e.A), e.Alpha / PI * 180.f), color, 1, CvEnum.LineType.AntiAlias)
     else
         let windowPosX = e.Cx - e.A - 5.f
         let gapX = windowPosX - (float32 (int windowPosX))
@@ -30,31 +29,28 @@ let drawEllipse (img: Image<'TColor, 'TDepth>) (e: Ellipse) (color: 'TColor) (al
         let windowPosY = e.Cy - e.A - 5.f
         let gapY = windowPosY - (float32 (int windowPosY))
 
-        let roi = Rectangle(int windowPosX, int windowPosY, 2.f * (e.A + 5.f) |> int, 2.f * (e.A + 5.f) |> int)
+        let roi = Rectangle (int windowPosX, int windowPosY, 2.f * (e.A + 5.f) |> int, 2.f * (e.A + 5.f) |> int)
 
         img.ROI <- roi
-        if roi = img.ROI // We do not display ellipses touching the edges (FIXME)
-        then
-            use i = new Image<'TColor, 'TDepth>(img.ROI.Size)
-            i.Draw(Emgu.CV.Structure.Ellipse(PointF(e.A + 5.f + gapX, e.A + 5.f + gapY), SizeF(2.f * e.B, 2.f * e.A), e.Alpha / PI * 180.f), color, 1, CvEnum.LineType.AntiAlias)
-            CvInvoke.AddWeighted(img, 1.0, i, alpha, 0.0, img)
+        if roi = img.ROI then // We do not display ellipses touching the edges (FIXME)
+            use i = new Image<'TColor, 'TDepth> (img.ROI.Size)
+            i.Draw (Emgu.CV.Structure.Ellipse(PointF(e.A + 5.f + gapX, e.A + 5.f + gapY), SizeF(2.f * e.B, 2.f * e.A), e.Alpha / PI * 180.f), color, 1, CvEnum.LineType.AntiAlias)
+            CvInvoke.AddWeighted (img, 1.0, i, alpha, 0.0, img)
         img.ROI <- Rectangle.Empty
 
-let drawEllipses (img: Image<'TColor, 'TDepth>) (ellipses: Ellipse list) (color: 'TColor) (alpha: float) =
+let drawEllipses (img : Image<'TColor, 'TDepth>) (ellipses : Ellipse list) (color : 'TColor) (alpha : float) =
     List.iter (fun e -> drawEllipse img e color alpha) ellipses
 
-let rngCell =  System.Random()
-let drawCell (img: Image<Bgr, byte>) (drawCellContent: bool) (c: Cell) =
-    if drawCellContent
-    then
-        let colorB = rngCell.Next(20, 70)
-        let colorG = rngCell.Next(20, 70)
-        let colorR = rngCell.Next(20, 70)
+let rngCell =  System.Random ()
+let drawCell (img : Image<Bgr, byte>) (drawCellContent : bool) (c : Cell) =
+    if drawCellContent then
+        let colorB = rngCell.Next (20, 70)
+        let colorG = rngCell.Next (20, 70)
+        let colorR = rngCell.Next (20, 70)
 
         for y = 0 to c.elements.Height - 1 do
             for x = 0 to c.elements.Width - 1 do
-                if c.elements.[y, x] > 0uy
-                then
+                if c.elements.[y, x] > 0uy then
                     let dx, dy = c.center.X - c.elements.Width / 2, c.center.Y - c.elements.Height / 2
                     let b = img.Data.[y + dy, x + dx, 0] |> int
                     let g = img.Data.[y + dy, x + dx, 1] |> int
@@ -65,9 +61,9 @@ let drawCell (img: Image<Bgr, byte>) (drawCellContent: bool) (c: Cell) =
 
     let crossColor, crossColor2 =
         match c.cellClass with
-        | HealthyRBC -> Bgr(255., 0., 0.), Bgr(255., 255., 255.)
-        | InfectedRBC -> Bgr(0., 0., 255.), Bgr(120., 120., 255.)
-        | Peculiar -> Bgr(0., 0., 0.), Bgr(80., 80., 80.)
+        | HealthyRBC -> Bgr (255., 0., 0.), Bgr (255., 255., 255.)
+        | InfectedRBC -> Bgr (0., 0., 255.), Bgr (120., 120., 255.)
+        | Peculiar -> Bgr (0., 0., 0.), Bgr (80., 80., 80.)
 
     drawLine img crossColor2 (c.center.X - 3) c.center.Y (c.center.X + 3) c.center.Y 2
     drawLine img crossColor2 c.center.X (c.center.Y - 3) c.center.X (c.center.Y + 3) 2
@@ -75,5 +71,5 @@ let drawCell (img: Image<Bgr, byte>) (drawCellContent: bool) (c: Cell) =
     drawLine img crossColor (c.center.X - 3) c.center.Y (c.center.X + 3) c.center.Y 1
     drawLine img crossColor c.center.X (c.center.Y - 3) c.center.X (c.center.Y + 3) 1
 
-let drawCells (img: Image<Bgr, byte>) (drawCellContent: bool) (cells: Cell list) =
+let drawCells (img : Image<Bgr, byte>) (drawCellContent : bool) (cells : Cell list) =
     List.iter (fun c -> drawCell img drawCellContent c) cells
\ No newline at end of file