diff options
| author | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2022-01-16 17:42:01 +0200 |
|---|---|---|
| committer | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2022-01-16 17:42:01 +0200 |
| commit | 981d893bcdd17e95f94859cb20cf413da6818df4 (patch) | |
| tree | d086523495351f7f41dcc5973845f5b17c3069fa /Software/Visual_Studio/MachineStudio/Modules | |
| parent | 4fbbe898fe71837004d0fb0248f3628140cde3f4 (diff) | |
| download | Tango-981d893bcdd17e95f94859cb20cf413da6818df4.tar.gz Tango-981d893bcdd17e95f94859cb20cf413da6818df4.zip | |
loading data from database
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules')
2 files changed, 77 insertions, 36 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/CalibrationPlotModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/CalibrationPlotModel.cs index 0f844097d..49ca76d14 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/CalibrationPlotModel.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/CalibrationPlotModel.cs @@ -193,8 +193,8 @@ namespace Tango.MachineStudio.ThreadExtensions.Models LinearizationPoints.Add(new DataPoint(nw.Item1.InkPercentage, nw.Item2)); } - LinearizationMaxX = Math.Max(100, LinearizationPoints.Max(x => x.X)); - LinearizationMaxY = Math.Max(100, LinearizationPoints.Max(x => x.Y)); + LinearizationMaxX = Math.Max(100, LinearizationPoints.Count > 0? LinearizationPoints.Max(x => x.X) : 0); + LinearizationMaxY = Math.Max(100, LinearizationPoints.Count > 0 ? LinearizationPoints.Max(x => x.Y) : 0); if (LinearizationPlotControl != null) { diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorCalibrationTabVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorCalibrationTabVM.cs index 2727b44e5..0a27281ca 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorCalibrationTabVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorCalibrationTabVM.cs @@ -138,34 +138,60 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels } #region Methods - private void ImportCyanData(object obj) + private async void ImportCyanData(object obj) { List<ColorLinearizationModel.LinearizationDataItem> items; if (ImportDataFromFile(out items) && items.Count > 0) { - CreatePlots(PMR.ColorLab.LiquidType.Cyan, CyanPlot, items, CyanCalibrationData); + List<double> calibrationPoints = new List<double>(); + await Task.Factory.StartNew(() => + { + calibrationPoints = GetLinearizationMeasurements(items, PMR.ColorLab.LiquidType.Cyan); + }); + UpdatePlots(CyanPlot, items, calibrationPoints); + + CyanCalibrationData.CalibrationPoints.Clear(); + var index = 1; + foreach (var nw in items.Zip(calibrationPoints, Tuple.Create)) + { + CyanCalibrationData.CalibrationPoints.Add(new CalibrationDataPointVM() { Index = index++, X = nw.Item1.InkPercentage, Y = nw.Item2 }); + } + SynchronizedObservableCollection<RmlExtensionColorCalibrationsTestsLiquidData> data = RmlExtensionColorCalibrationsTest.RmlExtensionColorCalibrationsTestsLiquidData; var liquidtype = _liquids.Where(l => l.Type == LiquidTypes.Cyan).FirstOrDefault(); var cyanliquidData = RmlExtensionColorCalibrationsTest.RmlExtensionColorCalibrationsTestsLiquidData.Where(x => x.LiquidTypeGuid == liquidtype.Guid).FirstOrDefault(); - if(cyanliquidData != null) + if (cyanliquidData != null) { - if(!RemovedPoints.ContainsKey(LiquidTypes.Cyan)) + if (!RemovedPoints.ContainsKey(LiquidTypes.Cyan)) { RemovedPoints[LiquidTypes.Cyan] = new List<RmlExtensionColorCalibrationsTestsLiquidDataPoint>(cyanliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.ToList()); } cyanliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.Clear(); - items.ForEach(x => cyanliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.Add(new RmlExtensionColorCalibrationsTestsLiquidDataPoint() { Ink = x.InkPercentage, L = x.L, A = x.A, B = x.B, CalculatedPoint = CyanCalibrationData.CalibrationPoints.Where(y=> y.X == x.InkPercentage).Select(z=>z.Y ).FirstOrDefault()})); + items.ForEach(x => cyanliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.Add(new RmlExtensionColorCalibrationsTestsLiquidDataPoint() { Ink = x.InkPercentage, L = x.L, A = x.A, B = x.B, CalculatedPoint = CyanCalibrationData.CalibrationPoints.Where(y => y.X == x.InkPercentage).Select(z => z.Y).FirstOrDefault() })); } } } - private void ImportMagentaData(object obj) + private async void ImportMagentaData(object obj) { List<ColorLinearizationModel.LinearizationDataItem> items; if (ImportDataFromFile(out items) && items.Count > 0) { - CreatePlots(PMR.ColorLab.LiquidType.Magenta, MagentaPlot, items, MagentaCalibrationData); + List<double> calibrationPoints = new List<double>(); + await Task.Factory.StartNew(() => + { + calibrationPoints = GetLinearizationMeasurements(items, PMR.ColorLab.LiquidType.Magenta); + }); + UpdatePlots(MagentaPlot, items, calibrationPoints); + + MagentaCalibrationData.CalibrationPoints.Clear(); + var index = 1; + foreach (var nw in items.Zip(calibrationPoints, Tuple.Create)) + { + MagentaCalibrationData.CalibrationPoints.Add(new CalibrationDataPointVM() { Index = index++, X = nw.Item1.InkPercentage, Y = nw.Item2 }); + } + SynchronizedObservableCollection<RmlExtensionColorCalibrationsTestsLiquidData> data = RmlExtensionColorCalibrationsTest.RmlExtensionColorCalibrationsTestsLiquidData; var liquidtype = _liquids.Where(l => l.Type == LiquidTypes.Magenta).FirstOrDefault(); var magentaliquidData = RmlExtensionColorCalibrationsTest.RmlExtensionColorCalibrationsTestsLiquidData.Where(x => x.LiquidTypeGuid == liquidtype.Guid).FirstOrDefault(); @@ -176,17 +202,30 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels RemovedPoints[LiquidTypes.Magenta] = new List<RmlExtensionColorCalibrationsTestsLiquidDataPoint>(magentaliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.ToList()); } magentaliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.Clear(); - items.ForEach(x => magentaliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.Add(new RmlExtensionColorCalibrationsTestsLiquidDataPoint() { Ink = x.InkPercentage, L = x.L, A = x.A, B = x.B, CalculatedPoint = CyanCalibrationData.CalibrationPoints.Where(y => y.X == x.InkPercentage).Select(z => z.Y).FirstOrDefault() })); + items.ForEach(x => magentaliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.Add(new RmlExtensionColorCalibrationsTestsLiquidDataPoint() { Ink = x.InkPercentage, L = x.L, A = x.A, B = x.B, CalculatedPoint = MagentaCalibrationData.CalibrationPoints.Where(y => y.X == x.InkPercentage).Select(z => z.Y).FirstOrDefault() })); } } } - private void ImportYellowData(object obj) + private async void ImportYellowData(object obj) { List<ColorLinearizationModel.LinearizationDataItem> items; if (ImportDataFromFile(out items) && items.Count > 0) { - CreatePlots(PMR.ColorLab.LiquidType.Yellow, YellowPlot, items, YellowCalibrationData); + List<double> calibrationPoints = new List<double>(); + await Task.Factory.StartNew(() => + { + calibrationPoints = GetLinearizationMeasurements(items, PMR.ColorLab.LiquidType.Yellow); + }); + UpdatePlots(YellowPlot, items, calibrationPoints); + + YellowCalibrationData.CalibrationPoints.Clear(); + var index = 1; + foreach (var nw in items.Zip(calibrationPoints, Tuple.Create)) + { + YellowCalibrationData.CalibrationPoints.Add(new CalibrationDataPointVM() { Index = index++, X = nw.Item1.InkPercentage, Y = nw.Item2 }); + } + SynchronizedObservableCollection<RmlExtensionColorCalibrationsTestsLiquidData> data = RmlExtensionColorCalibrationsTest.RmlExtensionColorCalibrationsTestsLiquidData; var liquidtype = _liquids.Where(l => l.Type == LiquidTypes.Yellow).FirstOrDefault(); var yellowliquidData = RmlExtensionColorCalibrationsTest.RmlExtensionColorCalibrationsTestsLiquidData.Where(x => x.LiquidTypeGuid == liquidtype.Guid).FirstOrDefault(); @@ -197,18 +236,30 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels RemovedPoints[LiquidTypes.Yellow] = new List<RmlExtensionColorCalibrationsTestsLiquidDataPoint>(yellowliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.ToList()); } yellowliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.Clear(); - items.ForEach(x => yellowliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.Add(new RmlExtensionColorCalibrationsTestsLiquidDataPoint() { Ink = x.InkPercentage, L = x.L, A = x.A, B = x.B, CalculatedPoint = CyanCalibrationData.CalibrationPoints.Where(y => y.X == x.InkPercentage).Select(z => z.Y).FirstOrDefault() })); + items.ForEach(x => yellowliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.Add(new RmlExtensionColorCalibrationsTestsLiquidDataPoint() { Ink = x.InkPercentage, L = x.L, A = x.A, B = x.B, CalculatedPoint = YellowCalibrationData.CalibrationPoints.Where(y => y.X == x.InkPercentage).Select(z => z.Y).FirstOrDefault() })); } } } - private void ImportBlackData(object obj) + private async void ImportBlackData(object obj) { - List<ColorLinearizationModel.LinearizationDataItem> items; if (ImportDataFromFile(out items) && items.Count > 0) { - CreatePlots(PMR.ColorLab.LiquidType.Black, BlackPlot, items, BlackCalibrationData); + List<double> calibrationPoints = new List<double>(); + await Task.Factory.StartNew(() => + { + calibrationPoints = GetLinearizationMeasurements(items, PMR.ColorLab.LiquidType.Black); + }); + UpdatePlots(BlackPlot, items, calibrationPoints); + + BlackCalibrationData.CalibrationPoints.Clear(); + var index = 1; + foreach (var nw in items.Zip(calibrationPoints, Tuple.Create)) + { + BlackCalibrationData.CalibrationPoints.Add(new CalibrationDataPointVM() { Index = index++, X = nw.Item1.InkPercentage, Y = nw.Item2 }); + } + SynchronizedObservableCollection<RmlExtensionColorCalibrationsTestsLiquidData> data = RmlExtensionColorCalibrationsTest.RmlExtensionColorCalibrationsTestsLiquidData; var liquidtype = _liquids.Where(l => l.Type == LiquidTypes.Black).FirstOrDefault(); var blackliquidData = RmlExtensionColorCalibrationsTest.RmlExtensionColorCalibrationsTestsLiquidData.Where(x => x.LiquidTypeGuid == liquidtype.Guid).FirstOrDefault(); @@ -219,7 +270,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels RemovedPoints[LiquidTypes.Black] = new List<RmlExtensionColorCalibrationsTestsLiquidDataPoint>(blackliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.ToList()); } blackliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.Clear(); - items.ForEach(x => blackliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.Add(new RmlExtensionColorCalibrationsTestsLiquidDataPoint() { Ink = x.InkPercentage, L = x.L, A = x.A, B = x.B, CalculatedPoint = CyanCalibrationData.CalibrationPoints.Where(y => y.X == x.InkPercentage).Select(z => z.Y).FirstOrDefault() })); + items.ForEach(x => blackliquidData.RmlExtensionColorCalibrationsTestsLiquidDataPoints.Add(new RmlExtensionColorCalibrationsTestsLiquidDataPoint() { Ink = x.InkPercentage, L = x.L, A = x.A, B = x.B, CalculatedPoint = BlackCalibrationData.CalibrationPoints.Where(y => y.X == x.InkPercentage).Select(z => z.Y).FirstOrDefault() })); } } @@ -322,36 +373,26 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels return PMR.ColorLab.LiquidType.Black; } - private async void CreatePlots(PMR.ColorLab.LiquidType liquidtype, CalibrationPlotModel plot, List<ColorLinearizationModel.LinearizationDataItem> items, CalibrationDataVM calibrationTable) + private void UpdatePlots( CalibrationPlotModel plot, List<ColorLinearizationModel.LinearizationDataItem> items, List<double> calibrationPoints) { plot.InitDataGraph(items); - - List<double> outputPoints = new List<double>(); - - await Task.Factory.StartNew(() => - { - outputPoints = GetLinearizationMeasurements(items, liquidtype); - }); - - plot.InitLinearizationGraph(items, outputPoints); - calibrationTable.CalibrationPoints.Clear(); - var index = 1; - foreach (var nw in items.Zip(outputPoints, Tuple.Create)) - { - calibrationTable.CalibrationPoints.Add(new CalibrationDataPointVM() { Index = index++, X = nw.Item1.InkPercentage, Y = nw.Item2 }); - } + plot.InitLinearizationGraph(items, calibrationPoints); } private void LoadDataPlots( List<RmlExtensionColorCalibrationsTestsLiquidDataPoint> points, CalibrationPlotModel plot, CalibrationDataVM calibrationTable) { List<ColorLinearizationModel.LinearizationDataItem> items = new List<ColorLinearizationModel.LinearizationDataItem>(); points.ForEach(x => items.Add(new ColorLinearizationModel.LinearizationDataItem() { InkPercentage = x.Ink, L = x.L, A = x.A, B = x.B })); - plot.InitDataGraph(items); + + List<double> calibrationPoints = new List<double>(); calibrationTable.CalibrationPoints.Clear(); var index = 1; - points.ForEach(x => calibrationTable.CalibrationPoints.Add(new CalibrationDataPointVM() { Index = index++, X = x.Ink, Y = x.CalculatedPoint })); - + points.ForEach(x => { + calibrationTable.CalibrationPoints.Add(new CalibrationDataPointVM() { Index = index++, X = x.Ink, Y = x.CalculatedPoint }); + calibrationPoints.Add(x.CalculatedPoint); + }); + UpdatePlots(plot, items, calibrationPoints); } private void OnRmlExtensionColorCalibrationsTestChanged() |
