// Yield 'false' when the point is owned by another ellipse.
if case1 then
- yield sign delta <> sign delta' || Utils.squaredDistanceTwoPoints c p' > Utils.squaredDistanceTwoPoints c p
+ sign delta <> sign delta' || Utils.squaredDistanceTwoPoints c p' > Utils.squaredDistanceTwoPoints c p
else
- yield sign delta = sign delta' && Utils.squaredDistanceTwoPoints c p' < Utils.squaredDistanceTwoPoints c p
+ sign delta = sign delta' && Utils.squaredDistanceTwoPoints c p' < Utils.squaredDistanceTwoPoints c p
else
- yield case1
+ case1
elif e.State = CellState.Peculiar then // A peculiar always win against a RBC.
- yield true
+ true
else
- yield not <| e'.Contains p.X p.Y
+ not <| e'.Contains p.X p.Y
} |> Seq.forall id
let globalStdDeviation = MathNet.Numerics.Statistics.Statistics.PopulationStandardDeviation (seq {
for y in 0 .. h - 1 do
for x in 0 .. w - 1 do
- yield float imgData.[y, x, 0] })
+ float imgData.[y, x, 0] })
for e in ellipses do
if not e.Removed then
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
if shrinkedE.Contains (float32 x) (float32 y) then
- yield float imgData.[y, x, 0] })
+ float imgData.[y, x, 0] })
if stdDeviation > globalStdDeviation * config.Parameters.standardDeviationMaxRatio then
e.Removed <- true *)
seq {
for parasitePixel in parasitePixels do
if nucleusPixels.Exists (fun p -> pown (p.X - parasitePixel.X) 2 + pown (p.Y - parasitePixel.Y) 2 <= diameterParasiteSquared) then
- yield 1
+ 1
} |> Seq.sum
else
0
let isChecked = srcImgCtrl.chkSelection.IsChecked
match parseAndValidatePPI srcImgCtrl.txtResolution.Text with
| Some resolution ->
- yield Some (srcImg, isChecked.HasValue && isChecked.Value, { srcImg.Config.Parameters with resolution = resolution * 1.<ppi> })
+ Some (srcImg, isChecked.HasValue && isChecked.Value, { srcImg.Config.Parameters with resolution = resolution * 1.<ppi> })
| None ->
MessageBox.Show (sprintf "No resolution defined for the image number %d" srcImg.Num, "No resolution defined", MessageBoxButton.OK, MessageBoxImage.Information) |> ignore
- yield None
+ None
} |> Seq.takeWhile (fun e -> e.IsSome) |> Seq.map (fun e -> e.Value) |> List.ofSeq
if parameters.Count () <> sourceImagesControls.Count () then
for srcImg, selected, parameters in imagesParameters do
srcImg.Config.Parameters <- parameters // Save parameters.
if selected then
- yield string srcImg.RomanNum, srcImg.Config, srcImg.Img
+ string srcImg.RomanNum, srcImg.Config, srcImg.Img
]
if imagesToProcess.IsEmpty then
config.SetRBCRadius imgInfo.RBCRadius
- yield SourceImage (imgNum, imgInfo.name, config, imgInfo.dateLastAnalysis, img, imgInfo.rbcs, HealthyRBCBrightness = imgInfo.healthyRBCBrightness, InfectedRBCBrightness = imgInfo.infectedRBCBrightness)
+ SourceImage (imgNum, imgInfo.name, config, imgInfo.dateLastAnalysis, img, imgInfo.rbcs, HealthyRBCBrightness = imgInfo.healthyRBCBrightness, InfectedRBCBrightness = imgInfo.infectedRBCBrightness)
]
}
\ No newline at end of file
for i = 1 to nbPoints do
let x = nextNumber min max
let y = nextNumber min max
- yield Point (x, y)
+ Point (x, y)
]
let sw = System.Diagnostics.Stopwatch ()