open Types
type State (defaultConfig : ParasitemiaCore.Config.Config) =
- let sourceImages = List<SourceImage>()
+ let sourceImages = List<SourceImage> ()
let mutable alteredSinceLastSave = false
let mutable patientID = ""
member this.Load () =
let data = PiaZ.load this.FilePath defaultConfig
this.PatientID <- data.patientID
- sourceImages.Clear()
- sourceImages.InsertRange(0, data.images)
+ sourceImages.Clear ()
+ sourceImages.InsertRange (0, data.images)
this.CurrentImage <- if sourceImages.Count > 0 then Some sourceImages.[0] else None
alteredSinceLastSave <- false
{
num = sourceImages.Count + 1
name = System.IO.FileInfo(filePath).Name
- config = defaultConfig.Copy()
- dateLastAnalysis = DateTime(0L)
+ config = defaultConfig.Copy ()
+ dateLastAnalysis = DateTime (0L)
rbcs = []
- img = new Image<Bgr, byte>(filePath)
+ img = new Image<Bgr, byte> (filePath)
healthyRBCBrightness = 1.f
infectedRBCBrightness = 1.f
}
- sourceImages.Add(srcImg)
+ sourceImages.Add srcImg
if sourceImages.Count = 1 then
this.CurrentImage <- Some sourceImages.[0]
alteredSinceLastSave <- true
| Some srcImg' -> srcImg = srcImg'
| _ -> false
- if sourceImages.Remove(srcImg) then
+ if sourceImages.Remove srcImg then
alteredSinceLastSave <- true
if isCurrent then
this.CurrentImage <- if sourceImages.Count > 0 then Some sourceImages.[0] else None
alteredSinceLastSave <- true
member this.SetResult (imgNum : int) (cells : ParasitemiaCore.Types.Cell list) =
- let sourceImage = sourceImages.Find(fun srcImg -> srcImg.num = imgNum)
+ let sourceImage = sourceImages.Find (fun srcImg -> srcImg.num = imgNum)
let w = sourceImage.img.Width
let h = sourceImage.img.Height
let manuallyAlteredPreviousRBCS = sourceImage.rbcs |> List.filter (fun rbc -> rbc.setManually)
let tolerance = (float sourceImage.config.RBCRadius.Pixel) * 0.5 // +/-.
let getPreviousManuallyAlteredRBC (center : Point) : RBC option =
- manuallyAlteredPreviousRBCS |> List.tryFind (fun rbc -> rbc.center.X > center.X - tolerance && rbc.center.X < center.X + tolerance &&
- rbc.center.Y > center.Y - tolerance && rbc.center.Y < center.Y + tolerance)
+ manuallyAlteredPreviousRBCS
+ |> List.tryFind (
+ fun rbc ->
+ rbc.center.X > center.X - tolerance &&
+ rbc.center.X < center.X + tolerance &&
+ rbc.center.Y > center.Y - tolerance &&
+ rbc.center.Y < center.Y + tolerance
+ )
sourceImage.rbcs <-
cells
|> List.sortByDescending (fun cell -> cell.nucleusArea, (w - cell.center.X) + (h - cell.center.Y))
|> List.mapi (
fun i cell ->
- let center = Point(float cell.center.X, float cell.center.Y)
+ let center = Point (float cell.center.X, float cell.center.Y)
let infected, setManually =
let infected = cell.cellClass = ParasitemiaCore.Types.InfectedRBC
match getPreviousManuallyAlteredRBC center with
infected = infected
setManually = setManually
center = center
- size = Size(float cell.elements.Width, float cell.elements.Height)
+ size = Size (float cell.elements.Width, float cell.elements.Height)
infectedArea = cell.nucleusArea
}
)
this.PatientID <- ""
this.FilePath <- ""
this.CurrentImage <- None
- sourceImages.Clear()
+ sourceImages.Clear ()
alteredSinceLastSave <- false
\ No newline at end of file