X-Git-Url: http://git.euphorik.ch/?p=master-thesis.git;a=blobdiff_plain;f=Parasitemia%2FParasitemia%2FParasitesMarker.fs;h=fcb71da23899aab1ea8a17060aab6f4d98d8fadb;hp=720488d8bcc61e9322f061e651d6f20a539d90cb;hb=807437584bdd3d7b7b33be8282472f81f8cce606;hpb=8013d6a586604e443332e6e9a715c86df444a875 diff --git a/Parasitemia/Parasitemia/ParasitesMarker.fs b/Parasitemia/Parasitemia/ParasitesMarker.fs index 720488d..fcb71da 100644 --- a/Parasitemia/Parasitemia/ParasitesMarker.fs +++ b/Parasitemia/Parasitemia/ParasitesMarker.fs @@ -56,12 +56,12 @@ let find (filteredGreen: Image) (config: Config.Config) : Result let filteredGreenWithoutStain = filteredGreenWithoutInfection.Copy() ImgTools.areaCloseF filteredGreenWithoutStain (int config.StainArea) - // We use the filtered image to find the dark stain. - let _, mean_fg, mean_bg = - let hist = ImgTools.histogramImg filteredGreenWithoutInfection 300 - ImgTools.otsu hist - - let darkStain = filteredGreenWithoutInfection.Cmp(-(float mean_bg) * config.Parameters.darkStainLevel + (float mean_fg), CvEnum.CmpType.LessThan) + let darkStain = + // We use the filtered image to find the dark stain. + let _, mean_fg, mean_bg = + let hist = ImgTools.histogramImg filteredGreenWithoutInfection 300 + ImgTools.otsu hist + filteredGreenWithoutInfection.Cmp(-(float mean_bg) * config.Parameters.darkStainLevel + (float mean_fg), CvEnum.CmpType.LessThan) let marker (img: Image) (closed: Image) (level: float) : Image = let diff = img.Copy() @@ -73,6 +73,11 @@ let find (filteredGreen: Image) (config: Config.Config) : Result let infectionMarker = marker filteredGreen filteredGreenWithoutInfection config.Parameters.infectionLevel let stainMarker = marker filteredGreenWithoutInfection filteredGreenWithoutStain config.Parameters.stainLevel + // TODO: comprendre pourquoi des valeurs sont negatives!?!? + let blackTopHat = filteredGreen.CopyBlank() + CvInvoke.Subtract(filteredGreenWithoutInfection, filteredGreen, blackTopHat) + ImgTools.saveImg (ImgTools.normalizeAndConvert blackTopHat) "BottomHat.png" + { darkStain = darkStain infection = infectionMarker stain = stainMarker },