aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC
diff options
context:
space:
mode:
authorVictoria Plitt <Victoria.Plitt@twine-s.com>2022-08-07 17:49:02 +0300
committerVictoria Plitt <Victoria.Plitt@twine-s.com>2022-08-07 17:49:02 +0300
commit6768f10da035dee02e5f4de2988b7cdccd7dc04c (patch)
treefd9dac07b3fd47c72f6b582125ec8b74b6e93fc3 /Software/Visual_Studio/PPC
parent1f4a296ce7e38d59a7a796ad2ab57db116f8fdb5 (diff)
downloadTango-6768f10da035dee02e5f4de2988b7cdccd7dc04c.tar.gz
Tango-6768f10da035dee02e5f4de2988b7cdccd7dc04c.zip
Fine Tuning. LAB out of gamut.
Diffstat (limited to 'Software/Visual_Studio/PPC')
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionViewVM.cs7
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialogVM.cs30
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/BrushStopModel.cs37
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/TrialsLogModel.cs3
4 files changed, 58 insertions, 19 deletions
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionViewVM.cs
index 923f045f1..52f112954 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionViewVM.cs
@@ -1064,9 +1064,10 @@ namespace Tango.PPC.Jobs.Dialogs
&& VectorFineTuningDialogVM.SelectedLog.B != null)
{
_selectedBrushStop.PreventPropertyUpdate = true;
- _selectedBrushStop.L = (double)VectorFineTuningDialogVM.SelectedLog.L;
- _selectedBrushStop.A = (double)VectorFineTuningDialogVM.SelectedLog.A;
- _selectedBrushStop.B = (double)VectorFineTuningDialogVM.SelectedLog.B;
+ _selectedBrushStop.L = (double)VectorFineTuningDialogVM.SelectedLog.SuggestionL;
+ _selectedBrushStop.A = (double)VectorFineTuningDialogVM.SelectedLog.SuggestionA;
+ _selectedBrushStop.B = (double)VectorFineTuningDialogVM.SelectedLog.SuggestionB;
+ //if not tested
_selectedBrushStop.PreventPropertyUpdate = false;
_selectedBrushStop.ConvertColor();
}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialogVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialogVM.cs
index 9a3230ea8..1352fa79d 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialogVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialogVM.cs
@@ -494,7 +494,6 @@ namespace Tango.PPC.Jobs.Dialogs
ActiveLogModel.SuggestionL = TargetL;
ActiveLogModel.SuggestionA = TargetA;
ActiveLogModel.SuggestionB = TargetB;
- ActiveLogModel.HasSuggestionsLAB = true;
TrialsLogitems = new SynchronizedObservableCollection<TrialsLogModel>();
TrialsLogitems.Add(ActiveLogModel);
//TEST
@@ -687,7 +686,7 @@ namespace Tango.PPC.Jobs.Dialogs
BrushStopModel.Black = SelectedLog.TestK;
}
- if(false == SelectedLog.HasSuggestionsLAB)
+ if(!SelectedLog.IsTested)
{
double lastSuggestionL = TargetL;
double lastSuggestionA = TargetA;
@@ -803,17 +802,16 @@ namespace Tango.PPC.Jobs.Dialogs
double lastSuggestionL = TargetL;
double lastSuggestionA = TargetA;
double lastSuggestionB = TargetB;
- if (!ActiveLogModel.HasSuggestionsLAB)
+
+ TrialsLogModel lastTested = TrialsLogitems.OrderBy(x => x.TrialNumber).LastOrDefault(y=>y.IsTested);
+ if(lastTested != null)
{
- TrialsLogModel lastTested = TrialsLogitems.OrderBy(x => x.TrialNumber).LastOrDefault(y=>y.IsTested);
- if(lastTested != null)
- {
- lastSuggestionL = lastTested.SuggestionL;
- lastSuggestionA = lastTested.SuggestionA;
- lastSuggestionB = lastTested.SuggestionB;
- }
- CalculateSuggestionLAB(lastSuggestionL, lastSuggestionA, lastSuggestionB, ActiveLogModel);
+ lastSuggestionL = lastTested.SuggestionL;
+ lastSuggestionA = lastTested.SuggestionA;
+ lastSuggestionB = lastTested.SuggestionB;
}
+ CalculateSuggestionLAB(lastSuggestionL, lastSuggestionA, lastSuggestionB, ActiveLogModel);
+
BrushStopModel.PreventPropertyUpdate = true;
BrushStopModel.L = ActiveLogModel.SuggestionL;
BrushStopModel.A = ActiveLogModel.SuggestionA;
@@ -821,7 +819,14 @@ namespace Tango.PPC.Jobs.Dialogs
BrushStopModel.PreventPropertyUpdate = false;
//calculate CMYK
- BrushStopModel.ConvertColorToVolume();
+ BrushStopModel.FineTuningConverter();
+ if(BrushStopModel.IsOutOfGamut)
+ {
+ ActiveLogModel.SuggestionL = BrushStopModel.L;
+ ActiveLogModel.SuggestionA = BrushStopModel.A;
+ ActiveLogModel.SuggestionB = BrushStopModel.B;
+ }
+
BrushStopModel.ColorSpace = ColorSpaces.LAB;
var settings = SettingsManager.Default.GetOrCreate<PPCSettings>();
@@ -1160,7 +1165,6 @@ namespace Tango.PPC.Jobs.Dialogs
trial.SuggestionL = LimitToRange((lastSuggestionL + (TargetL - (double)MeasuredL)),0, 100) ;
trial.SuggestionA = LimitToRange((lastSuggestionA + (TargetA - (double)MeasuredA)), -128, 127);
trial.SuggestionB = LimitToRange((lastSuggestionB + (TargetB - (double)MeasuredB )), -128, 127);
- trial.HasSuggestionsLAB = true;
return true;
}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/BrushStopModel.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/BrushStopModel.cs
index 07bf2fa5c..e71edc7a7 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/BrushStopModel.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/BrushStopModel.cs
@@ -1397,6 +1397,43 @@ namespace Tango.PPC.Jobs.Models
}
}
+ public void FineTuningConverter()
+ {
+ RequiredMaxLiquidTest = true;
+
+ ColorSpaces colorSpace = ColorSpaces.LAB;
+ BrushStop stop = CreateBrushStop(colorSpace);
+ try
+ {
+ IsBusy = true;
+ var output = _converter.Convert(stop, SegmentModel.Job.Machine.Configuration, SegmentModel.Job.Rml, false, false, false);
+
+ _cyan = (output.SingleCoordinates.OutputLiquids.SingleOrDefault(x => x.LiquidType == PMR.ColorLab.LiquidType.Cyan).Volume);
+ _yellow = (output.SingleCoordinates.OutputLiquids.SingleOrDefault(x => x.LiquidType == PMR.ColorLab.LiquidType.Yellow).Volume);
+ _magenta = (output.SingleCoordinates.OutputLiquids.SingleOrDefault(x => x.LiquidType == PMR.ColorLab.LiquidType.Magenta).Volume);
+ _black = (output.SingleCoordinates.OutputLiquids.SingleOrDefault(x => x.LiquidType == PMR.ColorLab.LiquidType.Black).Volume);
+ IsOutOfGamut = output.OutOfGamut;
+ if(IsOutOfGamut)
+ {
+ BrushStop stopLAB = CreateBrushStop(ColorSpaces.Volume);
+
+ IsBusy = true;
+ var outputLAB = _converter.Convert(stopLAB, SegmentModel.Job.Machine.Configuration, SegmentModel.Job.Rml, false, false, false);
+ _l = output.SingleCoordinates.L;
+ _a = output.SingleCoordinates.A;
+ _b = output.SingleCoordinates.B;
+ }
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "An error occurred while trying to get volume => RGB from conversion engine." + ex);
+ }
+ finally
+ {
+ IsBusy = false;
+ }
+ }
+
public void RaiseOffsetChanged()
{
RaisePropertyChanged(nameof(OffsetPercent));
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/TrialsLogModel.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/TrialsLogModel.cs
index 3b16a65a2..c6dfdd4a9 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/TrialsLogModel.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/TrialsLogModel.cs
@@ -64,8 +64,6 @@ namespace Tango.PPC.Jobs.Models
public double SuggestionA { get; set; }
[BsonIgnore]
public double SuggestionB { get; set; }
- [BsonIgnore]
- public bool HasSuggestionsLAB { get; set; }
public double C { get; set; }
public double M { get; set; }
@@ -195,7 +193,6 @@ namespace Tango.PPC.Jobs.Models
IsTested = false;
IsSelectionEnable = true;
IsBest = false;
- HasSuggestionsLAB = false;
}
#region Methods