X-Git-Url: http://git.euphorik.ch/?p=master-thesis.git;a=blobdiff_plain;f=Parasitemia%2FParasitemiaCore%2FKMedians.fs;h=bae7a248d4ed5046f2dc6f0c0f72e66eb4368a89;hp=504172aa2909adf3767ba542a8357e2491fb5e79;hb=b87b35b922551f122228df1fd9c530bbb807935a;hpb=2e3cd07dd099944059ef5e7a7f5ef57ffe3d677b diff --git a/Parasitemia/ParasitemiaCore/KMedians.fs b/Parasitemia/ParasitemiaCore/KMedians.fs index 504172a..bae7a24 100644 --- a/Parasitemia/ParasitemiaCore/KMedians.fs +++ b/Parasitemia/ParasitemiaCore/KMedians.fs @@ -6,13 +6,15 @@ open System.Drawing open Emgu.CV open Emgu.CV.Structure -type Result = { - fg: Image - median_bg: float - median_fg: float - d_fg: Image } // Euclidean distances of the foreground to median_fg. - -let kmedians (img: Image) : Result = +type Result = + { + fg : Image + median_bg : float + median_fg : float + d_fg : Image // Euclidean distances of the foreground to median_fg. + } + +let kmedians (img : Image) : Result = let nbIteration = 4 let w = img.Width let h = img.Height @@ -40,9 +42,10 @@ let kmedians (img: Image) : Result = for i = 0 to h - 1 do for j = 0 to w - 1 do - if fg.Data.[i, j, 0] > 0uy - then fg_values.Add(float img.Data.[i, j, 0]) - else bg_values.Add(float img.Data.[i, j, 0]) + if fg.Data.[i, j, 0] > 0uy then + fg_values.Add(float img.Data.[i, j, 0]) + else + bg_values.Add(float img.Data.[i, j, 0]) median_bg <- MathNet.Numerics.Statistics.Statistics.Median(bg_values) median_fg <- MathNet.Numerics.Statistics.Statistics.Median(fg_values)