- let limitThreshold = 0.1
- let valueThreshold = (*if max < limitThreshold * (median_bg - median_fg) then max / 2. else *) max * threshold
+ let threshold = 0.2 * max
+ let diff' = diff - threshold
+
+ let m = MathNet.Numerics.Statistics.StreamingStatistics.Mean(seq {
+ for m in ImgTools.findMaxima diff' do
+ let p = m.First()
+ yield diff'.Data.[p.Y, p.X, 0] |> float }) + threshold
+
+ let valueThreshold = m * level