- for y in (if minY < 0 then 0 else minY) .. (if maxY >= h then h - 1 else maxY) do
- for x in (if minX < 0 then 0 else minX) .. (if maxX >= w then w - 1 else maxX) do
+ for y in (if minY < 0 then 0 else minY) .. (if maxY >= height then height - 1 else maxY) do
+ for x in (if minX < 0 then 0 else minX) .. (if maxX >= width then width - 1 else maxX) do
let p = PointF(float32 x, float32 y)
if pixelOwnedByE p e (neighbors |> List.choose (fun (otherE, p1, p2) -> if otherE.Removed then None else Some (otherE :> Ellipse, Utils.lineFromTwoPoints p1 p2)))
then
let p = PointF(float32 x, float32 y)
if pixelOwnedByE p e (neighbors |> List.choose (fun (otherE, p1, p2) -> if otherE.Removed then None else Some (otherE :> Ellipse, Utils.lineFromTwoPoints p1 p2)))
nucleusAreaRatio: float32 // Factor of a RBC area. 0.5 means the half of RBC area.
infectionSensitivity: float // between 0 (the least sensitive) and 1 (the most sensitive).
nucleusAreaRatio: float32 // Factor of a RBC area. 0.5 means the half of RBC area.
infectionSensitivity: float // between 0 (the least sensitive) and 1 (the most sensitive).
- standardDeviationMaxRatio: float // The standard deviation of the pixel values of a cell can't be greater than standardDeviationMaxRatio * global standard deviation
+ // [<Obsolete>] standardDeviationMaxRatio: float // The standard deviation of the pixel values of a cell can't be greater than standardDeviationMaxRatio * global standard deviation
minimumCellAreaFactor: float32 } // Factor of the mean RBC area. A cell with an area below this will be rejected.
let defaultParameters = {
minimumCellAreaFactor: float32 } // Factor of the mean RBC area. A cell with an area below this will be rejected.