module ParasitemiaUI.Types open System open System.Windows open System.Windows.Media open Emgu.CV open Emgu.CV.Structure let healthyRBColor = Color.FromRgb(255uy, 255uy, 0uy) // Yellow-green. let infectedRBColor = Color.FromRgb(255uy, 0uy, 40uy) // Red with a bit of blue. type RBC = { num: int mutable infected: bool mutable setManually: bool center: Point size: Size infectedArea: int } type SourceImage = { mutable num: int mutable name: string mutable config: ParasitemiaCore.Config.Config mutable dateLastAnalysis: DateTime // UTC. img: Image mutable rbcs: RBC list mutable healthyRBCBrightness: float32 mutable infectedRBCBrightness: float32 } with member this.HealthyRBCColor: SolidColorBrush = let mutable color = healthyRBColor * this.healthyRBCBrightness color.A <- 255uy; SolidColorBrush(color) member this.InfectedRBCColor: SolidColorBrush = let mutable color = infectedRBColor * this.infectedRBCBrightness color.A <- 255uy; SolidColorBrush(color)