X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=Parasitemia%2FParasitemiaCore%2FParasitesMarker.fs;h=2b7068231a91acc25ac20bc87d8d5f4def0da9a8;hb=000e7091983f20ef75d0eba9bf1c865c76483f24;hp=6c25d043af0ea0f67ef2681e26c9a9cc649b1a5f;hpb=e3842630f4d36c5ea8c8a0c3d4762684e1c510f4;p=master-thesis.git diff --git a/Parasitemia/ParasitemiaCore/ParasitesMarker.fs b/Parasitemia/ParasitemiaCore/ParasitesMarker.fs index 6c25d04..2b70682 100644 --- a/Parasitemia/ParasitemiaCore/ParasitesMarker.fs +++ b/Parasitemia/ParasitemiaCore/ParasitesMarker.fs @@ -7,6 +7,9 @@ open Emgu.CV open Emgu.CV.Structure open Utils +open Histogram +open Otsu +open Morpho open ImgTools type Result = { @@ -24,7 +27,7 @@ let find (img: Image) (config: Config.Config) : Result * Image) (closed: Image) (level: float) : Image = let diff = img.Copy() @@ -33,11 +36,13 @@ let find (img: Image) (config: Config.Config) : Result * Image() + // Nucleus. let nucleusMarker = marker img imgWithoutNucleus (1. / config.Parameters.infectionSensitivity) + // Cytoplasm. let imgWithoutParasite = img.CopyBlank() let kernelSize = - let size = roundInt (config.RBCRadius.Pixel / 5.f) + let size = roundInt config.RBCRadius.CytoplasmSize if size % 2 = 0 then size + 1 else size use kernel = if kernelSize <= 3