GUI (work in progress..)
[master-thesis.git] / Parasitemia / Parasitemia / GUI / State.fs
index b5136c2..b35b331 100644 (file)
@@ -1,16 +1,15 @@
-module State
+module Parasitemia.GUI.State
 
 open System.Collections.Generic
 
 open Emgu.CV
 open Emgu.CV.Structure
 
-type ImageSource = {
-    cells: List<Types.Cell>
-    img: Image<Bgr, byte> }
+open Types
 
 type State () =
-    let imagesSource = List<ImageSource>()
+    let sourceImages = List<SourceImage>()
+    let mutable currentImage = -1
 
     member val FilePath: string = "" with get, set
     member val PatientID: string = "" with get, set
@@ -23,12 +22,17 @@ type State () =
         let data = Pia.load this.FilePath
         this.PatientID <- data.patientID
 
-    member this.AddSourceImage (filePath: string) =
-        imagesSource.Add({ cells = List<Types.Cell>(); img = new Image<Bgr, byte>(filePath) })
+    member this.AddSourceImage (filePath: string) : SourceImage =
+        let srcImg = { num = sourceImages.Count + 1; rbcs = []; img = new Image<Bgr, byte>(filePath) }
+        sourceImages.Add(srcImg)
+        if sourceImages.Count = 1
+        then
+            currentImage <- 1
+        srcImg
 
-    member x.ImagesSource : ImageSource seq =
-        imagesSource :> ImageSource seq
+    member x.SourceImages : SourceImage seq =
+        sourceImages :> SourceImage seq
 
     member this.Reset () =
         this.PatientID <- ""
-        imagesSource.Clear()
\ No newline at end of file
+        sourceImages.Clear()
\ No newline at end of file