diff options
| author | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2022-08-07 17:49:02 +0300 |
|---|---|---|
| committer | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2022-08-07 17:49:02 +0300 |
| commit | 6768f10da035dee02e5f4de2988b7cdccd7dc04c (patch) | |
| tree | fd9dac07b3fd47c72f6b582125ec8b74b6e93fc3 /Software/Visual_Studio | |
| parent | 1f4a296ce7e38d59a7a796ad2ab57db116f8fdb5 (diff) | |
| download | Tango-6768f10da035dee02e5f4de2988b7cdccd7dc04c.tar.gz Tango-6768f10da035dee02e5f4de2988b7cdccd7dc04c.zip | |
Fine Tuning. LAB out of gamut.
Diffstat (limited to 'Software/Visual_Studio')
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 |
