+ let greenFloat = green.Convert<Gray, float32>()
+
+ let filteredGreen = gaussianFilter green 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)*)
+
+ let initialAreaOpen = 2000
+ logTime "areaOpen 1" (fun () -> ImgTools.areaOpen filteredGreen 2000)
+
+ config.RBCRadius <- Granulometry.findRadius filteredGreen (10, 100) 0.5 |> float
+
+ let secondAreaOpen = int <| config.RBCArea / 3.
+ if secondAreaOpen > initialAreaOpen
+ then
+ logTime "areaOpen 2" (fun () -> ImgTools.areaOpen filteredGreen secondAreaOpen)
+
+ let filteredGreenFloat = filteredGreen.Convert<Gray, float32>() // Is it neccessary?
+
+ let parasites, filteredGreenWhitoutInfection, filteredGreenWhitoutStain = ParasitesMarker2.find filteredGreen filteredGreenFloat config
+ let filteredGreenWhitoutInfectionFloat = filteredGreenWhitoutInfection.Convert<Gray, float32>()
+ let filteredGreenWhitoutStainFloat = filteredGreenWhitoutStain.Convert<Gray, float32>()