From b17d27d4660a3fb525dbe847bcbd0fa88169bc5f Mon Sep 17 00:00:00 2001 From: X9VoiD Date: Sun, 27 Sep 2020 10:11:36 +0800 Subject: [PATCH] Remove Averaging Samples in MLFIlter --- MLFilter/MLFilter.cs | 59 +++----------------------------------------- 1 file changed, 3 insertions(+), 56 deletions(-) diff --git a/MLFilter/MLFilter.cs b/MLFilter/MLFilter.cs index bf99ded..d40c150 100644 --- a/MLFilter/MLFilter.cs +++ b/MLFilter/MLFilter.cs @@ -9,35 +9,16 @@ using OpenTabletDriver.Plugin.Tablet; namespace OTDPlugins { - [PluginName("MLFilter")] public class MLFilter : Notifier, IFilter { public virtual Vector2 Filter(Vector2 point) { DateTime date = DateTime.Now; - var predicted = new Vector2(); - var feedPoint = new Vector2(); - bool fed = false; - if (Feed) - { - if (AddPoint(point)) - { - foreach (var lastPoint in _lastPoints) - feedPoint += lastPoint; - feedPoint.X /= _lastPoints.Count; - feedPoint.Y /= _lastPoints.Count; - fed = AddTimeSeriesPoint(feedPoint, date); - } - } - else - { - fed = AddTimeSeriesPoint(point, date); - } - - if (fed) + if (AddTimeSeriesPoint(point, date)) { + var predicted = new Vector2(); var timeMatrix = ConstructTimeDesignMatrix(); double[] x, y; if (Normalize) @@ -69,32 +50,14 @@ namespace OTDPlugins predicted.X = (float)xCoeff.Evaluate(predictAhead); predicted.Y = (float)yCoeff.Evaluate(predictAhead); - if (Normalize) { predicted.X *= ScreenWidth; predicted.Y *= ScreenHeight; } - Vector2 finalPoint = new Vector2(); - - if (Feed || AvgSamples == 0) - finalPoint = predicted; - else - { - if (AddPoint(predicted) && AvgSamples > 0) - { - foreach (var tempPoint in _lastPoints) - { - finalPoint += tempPoint; - } - finalPoint.X /= _lastPoints.Count; - finalPoint.Y /= _lastPoints.Count; - } - } - _lastTime = date; - return finalPoint; + return predicted; } _lastTime = date; return point; @@ -110,16 +73,6 @@ namespace OTDPlugins return false; } - private bool AddPoint(Vector2 point) - { - _lastPoints.AddLast(point); - if (_lastPoints.Count > AvgSamples) - _lastPoints.RemoveFirst(); - if (_lastPoints.Count == AvgSamples) - return true; - return false; - } - private double[] ConstructTimeDesignMatrix() { DateTime baseTime = _timeSeriesPoints.First.Value.Date; @@ -273,12 +226,6 @@ namespace OTDPlugins [UnitProperty("Screen Height", "px")] public int ScreenHeight { set; get; } - [Property("Averaging Samples")] - public int AvgSamples { set; get; } - - [BooleanProperty("Feed to Filter", "")] - public bool Feed { set; get; } - public FilterStage FilterStage => FilterStage.PostTranspose; }