X-Git-Url: http://git.euphorik.ch/?p=master-thesis.git;a=blobdiff_plain;f=Parasitemia%2FParasitemiaCore%2FKMedians.fs;h=b2ac7382a16b98ecdb44f0efcf5218a56b33a27a;hp=bae7a248d4ed5046f2dc6f0c0f72e66eb4368a89;hb=2d712781def419c9acc98368f7102b19b064f16d;hpb=d715615d0b1da40fd10e9dbabbd4530cd5125a19 diff --git a/Parasitemia/ParasitemiaCore/KMedians.fs b/Parasitemia/ParasitemiaCore/KMedians.fs index bae7a24..b2ac738 100644 --- a/Parasitemia/ParasitemiaCore/KMedians.fs +++ b/Parasitemia/ParasitemiaCore/KMedians.fs @@ -20,35 +20,35 @@ let kmedians (img : Image) : Result = let h = img.Height let min = ref [| 0.0 |] - let minLocation = ref <| [| Point() |] + let minLocation = ref <| [| Point () |] let max = ref [| 0.0 |] - let maxLocation = ref <| [| Point() |] - img.MinMax(min, max, minLocation, maxLocation) + let maxLocation = ref <| [| Point () |] + img.MinMax (min, max, minLocation, maxLocation) let mutable median_bg = (!max).[0] - ((!max).[0] - (!min).[0]) / 4.0 let mutable median_fg = (!min).[0] + ((!max).[0] - (!min).[0]) / 4.0 - use mutable d_bg = new Image(img.Size) - let mutable d_fg = new Image(img.Size) - let mutable fg = new Image(img.Size) + use mutable d_bg = new Image (img.Size) + let mutable d_fg = new Image (img.Size) + let mutable fg = new Image (img.Size) for i = 1 to nbIteration do - d_bg <- img.AbsDiff(Gray(median_bg)) - d_fg <- img.AbsDiff(Gray(median_fg)) + d_bg <- img.AbsDiff (Gray median_bg) + d_fg <- img.AbsDiff (Gray median_fg) - CvInvoke.Compare(d_fg, d_bg, fg, CvEnum.CmpType.LessThan) + CvInvoke.Compare (d_fg, d_bg, fg, CvEnum.CmpType.LessThan) - let bg_values = List() - let fg_values = List() + let bg_values = List () + let fg_values = List () 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]) + fg_values.Add (float img.Data.[i, j, 0]) else - bg_values.Add(float img.Data.[i, j, 0]) + 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) + median_bg <- MathNet.Numerics.Statistics.Statistics.Median bg_values + median_fg <- MathNet.Numerics.Statistics.Statistics.Median fg_values { fg = fg; median_bg = median_bg; median_fg = median_fg; d_fg = d_fg }