X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=Parasitemia%2FParasitemiaUI%2FState.fs;h=63b9bbf5d1240e67867b8a32c45fec17dfd1d15e;hb=cb90b01c85183b2c75ee6d22b378b3ca99df6bf3;hp=5b89810591e6cb93b5072cbdec609bd411df7616;hpb=4bfa3cbdc6145e6944f02e24829ab2ef3a851ac1;p=master-thesis.git diff --git a/Parasitemia/ParasitemiaUI/State.fs b/Parasitemia/ParasitemiaUI/State.fs index 5b89810..63b9bbf 100644 --- a/Parasitemia/ParasitemiaUI/State.fs +++ b/Parasitemia/ParasitemiaUI/State.fs @@ -30,6 +30,10 @@ type State () = List.length srcImg.rbcs, srcImg.rbcs |> List.fold (fun nbInfected rbc -> if rbc.infected then nbInfected + 1 else nbInfected) 0 + member this.ImageNbAltered (srcImg: SourceImage) : int * int = + List.length srcImg.rbcs, + srcImg.rbcs |> List.fold (fun nbAltered rbc -> if rbc.setManually then nbAltered + 1 else nbAltered) 0 + member this.GlobalParasitemia : int * int = sourceImages |> Seq.fold (fun (nbTotal, nbTotalInfected) srcImg -> @@ -56,18 +60,28 @@ type State () = /// /// Load the current state. 'FilePath' must have been defined. /// - /// If the file cannot be laoded + /// If the file cannot be loaded member this.Load () = let data = PiaZ.load this.FilePath this.PatientID <- data.patientID sourceImages.Clear() sourceImages.InsertRange(0, data.images) - if sourceImages.Count > 0 - then this.CurrentImage <- Some sourceImages.[0] + this.CurrentImage <- if sourceImages.Count > 0 then Some sourceImages.[0] else None alteredSinceLastSave <- false + /// + /// + /// If the image cannot be read member this.AddSourceImage (filePath: string) (defaultConfig: ParasitemiaCore.Config.Config) : SourceImage = - let srcImg = { num = sourceImages.Count + 1; config = defaultConfig.Copy(); dateLastAnalysis = DateTime(0L); rbcs = []; img = new Image(filePath) } + let srcImg = + { num = sourceImages.Count + 1 + config = defaultConfig.Copy() + dateLastAnalysis = DateTime(0L) + rbcs = [] + img = new Image(filePath) + healthyRBCBrightness = 1.f + infectedRBCBrightness = 1.f } + sourceImages.Add(srcImg) if sourceImages.Count = 1 then this.CurrentImage <- Some sourceImages.[0]