aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio
diff options
context:
space:
mode:
authorVictoria Plitt <Victoria.Plitt@twine-s.com>2022-01-16 17:42:01 +0200
committerVictoria Plitt <Victoria.Plitt@twine-s.com>2022-01-16 17:42:01 +0200
commit981d893bcdd17e95f94859cb20cf413da6818df4 (patch)
treed086523495351f7f41dcc5973845f5b17c3069fa /Software/Visual_Studio/MachineStudio
parent4fbbe898fe71837004d0fb0248f3628140cde3f4 (diff)
downloadTango-981d893bcdd17e95f94859cb20cf413da6818df4.tar.gz
Tango-981d893bcdd17e95f94859cb20cf413da6818df4.zip
loading data from database
Diffstat (limited to 'Software/Visual_Studio/MachineStudio')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/CalibrationPlotModel.cs4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorCalibrationTabVM.cs109
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()