Ejemplo n.º 1
0
 public PreviewFeature(string name, CWatchZone watchZone, CWatcher watcher, CWatchImage watchImage)
 {
     Name       = name;
     WatchZone  = watchZone;
     Watcher    = watcher;
     WatchImage = watchImage;
 }
Ejemplo n.º 2
0
        private static void CompareAgainstFeature(
            ref double[] deltas,
            ref double[] benchmarks,
            DateTime now,
            IMagickImage fileImageComposed,
            CWatcher cWatcher,
            CWatchImage cWatchImage)
        {
            if (!cWatchImage.IsPaused(now))
            {
                var benchmark = TimeStamp.Now;
                using (var fileImageCompare = fileImageComposed.Clone())
                    using (var deltaImage = cWatchImage.MagickImage.Clone())
                    {
                        if (cWatchImage.HasAlpha)
                        {
                            fileImageCompare.Composite(cWatchImage.AlphaChannel, CompositeOperator.Over);
                        }

                        SetDelta(ref deltas, fileImageCompare, deltaImage, cWatcher, cWatchImage);
                        SetBenchmark(ref benchmarks, benchmark, cWatchImage);
                    }
            }
            else
            {
                deltas[cWatchImage.Index]     = double.NaN;
                benchmarks[cWatchImage.Index] = 0;
            }
        }
Ejemplo n.º 3
0
        private static void SetDelta(
            ref double[] deltas,
            IMagickImage fileImageCompare,
            IMagickImage deltaImage,
            CWatcher cWatcher,
            CWatchImage cWatchImage)
        {
            var metricResult = fileImageCompare.Compare(deltaImage, cWatcher.ErrorMetric);

            deltas[cWatchImage.Index] = cWatcher.ErrorMetric.Standardize(
                cWatchImage.MetricUpperBound,
                metricResult,
                cWatchImage.TransparencyRate);
        }
Ejemplo n.º 4
0
 private static void SetBenchmark(ref double[] benchmarks, TimeStamp timeStamp, CWatchImage cWatchImage)
 {
     benchmarks[cWatchImage.Index] = (TimeStamp.Now - timeStamp).TotalSeconds;
 }