diff options
Diffstat (limited to 'Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/SealingAnalyzer.cs')
| -rw-r--r-- | Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/SealingAnalyzer.cs | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/SealingAnalyzer.cs b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/SealingAnalyzer.cs deleted file mode 100644 index 841101b10..000000000 --- a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/SealingAnalyzer.cs +++ /dev/null @@ -1,79 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Tango.DispenserAnalyzer.UI.Analysis; -using Tango.DispenserAnalyzer.UI.Models; - -namespace Tango.DispenserAnalyzer.UI.Analyzers -{ - [Analyzer("sealtest")] - public class SealingAnalyzer : IDispenserDispenserAnalyser - { - private IReader<DispenserSample> _reader; - public IReader<DispenserSample> Reader - { - get { return _reader; } - set { _reader = value; } - } - - public SealingAnalyzer() - { - Reader = new DispenserReader(); - } - public Task<List<IAnalyzerResult>> Process(List<DispenserSample> csvRows, bool backgroundMode) - { - return Task.Factory.StartNew<List<IAnalyzerResult>>(() => - { - List<IAnalyzerResult> results = new List<IAnalyzerResult>(); - List<DispenserSample> commands = csvRows.Where(x => x.Command!= null && x.Command.ToLower().Contains("label")).ToList< DispenserSample>(); - SealingAnalyzerResult result = new SealingAnalyzerResult(); - var pairs = commands.Select((x, i) => new { Index = i, Value = x }).GroupBy(x => x.Index /2).Select(x => x.Select(v => v.Value).ToList()).ToList(); - //start range of test - if (pairs.Count > 0 && pairs[0].Count > 1) - { - List<DispenserSample> rangeTestValues = csvRows.Where(x => x.Index > pairs[0][0].Index && x.Index < pairs[0][1].Index).ToList(); - result.AverageStartTestValue = rangeTestValues.Average(t => t.Pressure); - } - //end range of test - if (pairs.Count > 1 && pairs[1].Count > 1) - { - List<DispenserSample> rangeTestValues = csvRows.Where(x => x.Index > pairs[1][0].Index && x.Index < pairs[1][1].Index).ToList(); - result.AverageEndTestValue = rangeTestValues.Average(t => t.Pressure); ; - } - result.AbsoluteTestValue = Math.Abs(result.AverageEndTestValue - result.AverageStartTestValue); - result.Result = result.AbsoluteTestValue < 8 ? AnalyzerResultValue.Passed : AnalyzerResultValue.Failed; - results.Add(result); - return results; - }); - } - - public void GetPoints(List<DispenserSample> samples, IList<OxyPlot.DataPoint> points) - { - samples.ForEach(x => - { - if (x.Pressure != 0.0) - { points.Add(new OxyPlot.DataPoint(x.Index, x.Pressure)); } - }); - } - } - - public class SealingAnalyzerResult : AnalyzerResultBase - { - [Description("Average Start Test Value")] - public double AverageStartTestValue { get; set; } - [Description("Average End Test Value")] - public double AverageEndTestValue { get; set; } - [Description("Absolute Value")] - public double AbsoluteTestValue { get; set; } - public SealingAnalyzerResult() - { - AverageStartTestValue = 0.0; - AverageEndTestValue = 0.0; - AbsoluteTestValue = 0.0; - Result = AnalyzerResultValue.Undetermined; - } - } -} |
