Cleaning.
[master-thesis.git] / Parasitemia / Parasitemia / MainAnalysis.fs
index a240878..167e618 100644 (file)
@@ -17,34 +17,22 @@ let doAnalysis (img: Image<Bgr, byte>) (name: string) (config: Config) : Cell li
     use scaledImg = if config.Parameters.scale = 1.0 then img else img.Resize(config.Parameters.scale, CvEnum.Inter.Area)
 
     use green = scaledImg.Item(1)
-
     let greenFloat = green.Convert<Gray, float32>()
-
     let filteredGreen = gaussianFilter greenFloat config.Parameters.preFilterSigma
 
-    (*let maximaImg = filteredGreen.Copy()
-    let maxima = logTime "maxima" (fun () -> ImgTools.findMaxima maximaImg)
-    for m in maxima do
-        ImgTools.drawPoints maximaImg m 255uy
-
-    let greenOpen1 = filteredGreen.Copy()
-    logTime "areaOpen1" (fun () -> ImgTools.areaOpen greenOpen1 2000)*)
+    logTime "areaOpen 1" (fun () -> ImgTools.areaOpenF filteredGreen config.Parameters.initialAreaOpen)
 
-    let initialAreaOpen = 2000
-    logTime "areaOpen 1" (fun () -> ImgTools.areaOpenF filteredGreen initialAreaOpen)
-
-    config.RBCRadius <- Granulometry.findRadius filteredGreen (10, 100) 0.5 |> float
+    config.RBCRadius <- logTime "Granulometry" (fun() -> Granulometry.findRadius (filteredGreen.Convert<Gray, byte>()) (10, 100) 0.5 |> float)
 
     let secondAreaOpen = int <| config.RBCArea / 3.
-    if secondAreaOpen > initialAreaOpen
+    if secondAreaOpen > config.Parameters.initialAreaOpen
     then
         logTime "areaOpen 2" (fun () -> ImgTools.areaOpenF filteredGreen secondAreaOpen)
 
     let parasites, filteredGreenWhitoutInfection, filteredGreenWhitoutStain = ParasitesMarker.find filteredGreen config
     //let parasites, filteredGreenWhitoutInfection, filteredGreenWhitoutStain = ParasitesMarker.findMa greenFloat filteredGreenFloat config
 
-    let edges, xGradient, yGradient = ImgTools.findEdges filteredGreenWhitoutStain
-
+    let edges, xGradient, yGradient = logTime "Finding edges" (fun () -> ImgTools.findEdges filteredGreenWhitoutStain)
     logTime "Removing small connected components from thinning" (fun () -> removeArea edges 12)
 
     let allEllipses, ellipses = logTime "Finding ellipses" (fun () ->