X-Git-Url: http://git.euphorik.ch/?p=master-thesis.git;a=blobdiff_plain;f=Parasitemia%2FParasitemiaUI%2FProgram.fs;h=24e33cdeca4fa7d0667d953fa413f747f23dc7ef;hp=74f0d359930dac0227d8d6a8a5203db544254b09;hb=6c70577f0bcc17881c753f7a527d2ff4672bb6aa;hpb=3990946e49fe34e9adcf0e04b0418cd16676e6fe diff --git a/Parasitemia/ParasitemiaUI/Program.fs b/Parasitemia/ParasitemiaUI/Program.fs index 74f0d35..24e33cd 100644 --- a/Parasitemia/ParasitemiaUI/Program.fs +++ b/Parasitemia/ParasitemiaUI/Program.fs @@ -74,12 +74,15 @@ let main args = let images = [ for file in files -> Path.GetFileNameWithoutExtension(FileInfo(file).Name), config.Copy(), new Image(file) ] Log.LogWithTime("Whole analyze", Severity.USER, (fun () -> - let results = ParasitemiaCore.Analysis.doMultipleAnalysis images None - - for id, cells in results do - let config = images |> List.pick (fun (id', config', _) -> if id' = id then Some config' else None) - let total, infected = countCells cells - fprintf resultFile "File: %s %d %d %.2f (diameter: %A)\n" id total infected (100. * (float infected) / (float total)) config.RBCRadius)) + match ParasitemiaCore.Analysis.doMultipleAnalysis images None with + | Some results -> + for id, cells in results do + let config = images |> List.pick (fun (id', config', _) -> if id' = id then Some config' else None) + let total, infected = countCells cells + fprintf resultFile "File: %s %d %d %.2f (diameter: %A)\n" id total infected (100. * (float infected) / (float total)) config.RBCRadius + | None -> + fprintf resultFile "Analysis aborted" + Some ())) |> ignore Log.RmListener(listener) 0