diff options
| author | Mirta <mirta@twine-s.com> | 2020-07-06 09:53:24 +0300 |
|---|---|---|
| committer | Mirta <mirta@twine-s.com> | 2020-07-06 09:53:24 +0300 |
| commit | e575493d6ec9915ea4efa25f1c6bc95a73a1957a (patch) | |
| tree | f9e5e551a590c8580fbd4da30d9e11a7ea0a4114 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML | |
| parent | 000867108ed4d5d15e02eae56413e53232268a22 (diff) | |
| parent | 472128227357a42e556b08b867b643c344c18522 (diff) | |
| download | Tango-e575493d6ec9915ea4efa25f1c6bc95a73a1957a.tar.gz Tango-e575493d6ec9915ea4efa25f1c6bc95a73a1957a.zip | |
Accepted addition of gratient header
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML')
5 files changed, 215 insertions, 119 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Models/ColorLinearizationModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Models/ColorLinearizationModel.cs new file mode 100644 index 000000000..fe9ec7e37 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Models/ColorLinearizationModel.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Documents; + +namespace Tango.MachineStudio.RML.Models +{ + public class ColorLinearizationModel + { + private class LinearizationDataItem + { + public double L { get; set; } + public double A { get; set; } + public double B { get; set; } + public int InkPercentage { get; set; } + } + + public ColorLinearizationModel() + { + + } + + public void GetDataFromFile(string fileName) + { + + ExcelReader reader = new ExcelReader(fileName); + var items = reader.GetDataByIndex<LinearizationDataItem>("Sheet1", 2); + foreach (var item in items) + { + } + reader.Dispose(); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Tango.MachineStudio.RML.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Tango.MachineStudio.RML.csproj index 1f9d56f07..145a0e06e 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Tango.MachineStudio.RML.csproj +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Tango.MachineStudio.RML.csproj @@ -81,6 +81,7 @@ <Compile Include="Contracts\IMainView.cs" /> <Compile Include="Models\CalibrationMeasurementModel.cs" /> <Compile Include="Models\CctModel.cs" /> + <Compile Include="Models\ColorLinearizationModel.cs" /> <Compile Include="RMLModule.cs" /> <Compile Include="Properties\AssemblyInfo.cs"> <SubType>Code</SubType> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorCalibrationViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorCalibrationViewVM.cs index dd0c66c58..f118ce77a 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorCalibrationViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorCalibrationViewVM.cs @@ -16,6 +16,7 @@ using Tango.ColorCalibration; using Tango.PMR.ColorLab; using Tango.Logging; using Tango.MachineStudio.Common.Notifications; +using System.Text.RegularExpressions; namespace Tango.MachineStudio.RML.ViewModels { @@ -41,6 +42,14 @@ namespace Tango.MachineStudio.RML.ViewModels set { _liquidType = value; RaisePropertyChangedAuto(); } } + private BL.Entities.LiquidType _selectedLinearizationliquidType; + + public BL.Entities.LiquidType SelectedLinearizationLiquidType + { + get { return _selectedLinearizationliquidType; } + set { _selectedLinearizationliquidType = value; RaisePropertyChangedAuto(); } + } + private List<BL.Entities.LiquidType> _liquidTypes; public List<BL.Entities.LiquidType> LiquidTypes @@ -69,17 +78,38 @@ namespace Tango.MachineStudio.RML.ViewModels public double Factor { get { return _factor; } - set { _factor = value; } + set { _factor = value; RaisePropertyChangedAuto(); } } - public RelayCommand CreateGraphCommand { get; set; } + private string _errorMessage; + public string ErrorMessage + { + get { return _errorMessage; } + set { _errorMessage = value; RaisePropertyChangedAuto(); } + } + private bool _hasError; + + public bool HasError + { + get { return _hasError; } + set { _hasError = value; RaisePropertyChangedAuto(); } + } - public string CalibrationType + public RelayCommand CreateGraphCommand { get; set; } + public RelayCommand CreateLinearizationGraphCommand { get; set; } + + + public string CalibrationLiquidTypeName { get { return LiquidType == null ?"" : LiquidType.Name; } } + public string LinearizationLiquidTypeName + { + get { return SelectedLinearizationLiquidType == null ? "" : SelectedLinearizationLiquidType.Name; } + } + public Plot PlotControl { get; set; } private IList<DataPoint> _points; /// <summary> @@ -140,6 +170,22 @@ namespace Tango.MachineStudio.RML.ViewModels } } + + public Plot LinearizationPlotControl { get; set; } + private IList<DataPoint> _linearizationPoints; + /// <summary> + /// Binding to ItemsSource of line chart. + /// </summary> + public IList<DataPoint> LinearizationPoints + { + get { return _linearizationPoints; } + set + { + _linearizationPoints = value; + RaisePropertyChangedAuto(); + } + } + #endregion public ColorCalibrationViewVM(INotificationProvider notification) @@ -152,7 +198,9 @@ namespace Tango.MachineStudio.RML.ViewModels new CalibrationMeasurementModel(), }; Factor = 0; + HasError = false; CreateGraphCommand = new RelayCommand(CreateGraph); + CreateLinearizationGraphCommand = new RelayCommand(CreateLinearizationGraph); this.Points = new List<DataPoint>(); TargetPoints = new List<DataPoint>(); } @@ -166,24 +214,31 @@ namespace Tango.MachineStudio.RML.ViewModels private double GetLiquidFactor() { - try{ - CalibrationInput conversionInput = new CalibrationInput(); - Measurements.ToList().ForEach(x => conversionInput.Measurements.Add(new CalibrationMeasurement{ L = x.L, A = x.A, B = x.B, NanoliterPerCentimeter = x.Ink })); - conversionInput.LiquidType = PMR.ColorLab.LiquidType.TryParse(_liquidType.Type.ToString(), out PMR.ColorLab.LiquidType outValue) ? outValue : PMR.ColorLab.LiquidType.Black; - + try + { + CalibrationInput conversionInput = new CalibrationInput(); + Measurements.ToList().ForEach(x => conversionInput.Measurements.Add(new CalibrationMeasurement { L = x.L, A = x.A, B = x.B, NanoliterPerCentimeter = x.Ink })); + conversionInput.LiquidType = PMR.ColorLab.LiquidType.TryParse(_liquidType.Type.ToString(), out PMR.ColorLab.LiquidType outValue) ? outValue : PMR.ColorLab.LiquidType.Black; - LAB lab; - if (ColorCalibrationExt.TargetLiquidTypeToLAB.TryGetValue(_liquidType.Type, out lab)) - { - conversionInput.TargetL = lab.L; - conversionInput.TargetA = lab.A; - conversionInput.TargetB = lab.B; - } - CalibrationOutput result = _calibrator.GetLiquidFactor(conversionInput); - return result.LiquidFactor; + + LAB lab; + if (ColorCalibrationExt.TargetLiquidTypeToLAB.TryGetValue(_liquidType.Type, out lab)) + { + conversionInput.TargetL = lab.L; + conversionInput.TargetA = lab.A; + conversionInput.TargetB = lab.B; + } + CalibrationOutput result = _calibrator.GetLiquidFactor(conversionInput); + + ErrorMessage = Regex.Replace(result.ErrorMessage, "[^A-Za-z0-9_., ]+", ""); + + HasError = false == String.IsNullOrEmpty(ErrorMessage); + return result.LiquidFactor; } catch (Exception ex ) { + HasError = true; + ErrorMessage = "Error occurred while trying to call GetLiquidFactor."; LogManager.Log(ex, "Error occurred while trying to call GetLiquidFactor."); } return 0.0; @@ -196,11 +251,10 @@ namespace Tango.MachineStudio.RML.ViewModels if (_liquidType == null) return; - LAB lab; string labType = ColorCalibrationExt.DisplayLiquidTypeToLABType[_liquidType.Type]; await Task.Factory.StartNew(() => { - Factor = GetLiquidFactor(); + Factor = GetLiquidFactor( ); }); Points.Clear(); @@ -222,92 +276,38 @@ namespace Tango.MachineStudio.RML.ViewModels RaisePropertyChanged("CalibrationType"); PlotControl.InvalidatePlot(true); - //await Task.Factory.StartNew(() => - //{ - // DataPoint ? intersectionpoints = FindIntersection(Points.ToArray(), TargetPoints.ToArray()); - // if(intersectionpoints == null) - // { - // InvokeUI(() => - // { - // _notification.ShowWarning(LogManager.Log($"No intersect target value with input values", LogCategory.Warning)); - // }); - // } - //}); - } #endregion + #region CreateLinearizationGraph - #region Intersect - - public DataPoint? FindIntersection(DataPoint[] line1, DataPoint[] line2) + private void CreateLinearizationGraph(object obj) { - for (int i = 0; i < line1.Length; i++) - { - int nextI = i; - nextI++; - if (nextI == line1.Length) break; - - for (int j = 0; j < line2.Length; j++) - { - int nextJ = j; - nextJ++; - if (nextJ == line2.Length) break; - DataPoint? d = CheckIntersecting(line1[i], line1[nextI], line2[j], line2[nextJ]); - return d; - - } - } - return null; - } - - public DataPoint? CheckIntersecting(DataPoint A, DataPoint B, DataPoint C, DataPoint D) - { - // Line AB represented as a1x + b1y = c1 - double a1 = B.Y - A.Y; - double b1 = A.X - B.X; - double c1 = a1 * (A.X) + b1 * (A.Y); + if (_selectedLinearizationliquidType == null) + return; - // Line CD represented as a2x + b2y = c2 - double a2 = D.Y - C.Y; - double b2 = C.X - D.X; - double c2 = a2 * (C.X) + b2 * (C.Y); + string labType = ColorCalibrationExt.DisplayLiquidTypeToLABType[_selectedLinearizationliquidType.Type]; - double determinant = a1 * b2 - a2 * b1; + ColorLinearizationModel model = new ColorLinearizationModel(); + string fileName = @"C:\Test\Test Input Lineration.xlsx"; + model.GetDataFromFile(fileName); + //await Task.Factory.StartNew(() => + //{ + // Factor = GetLiquidFactor(); + //}); - if (determinant == 0) - { - // The lines are parallel. This is simplified - } - else - { - double x = (b2 * c1 - b1 * c2) / determinant; - double y = (a1 * c2 - a2 * c1) / determinant; + LinearizationPoints.Clear(); + + Measurements.ToList().ForEach(x => { + LinearizationPoints.Add(new DataPoint(x.Ink, x.L)); + }); - // check if the point lies on given line segment - /* To check if "x" is between "a" and "b"; - int m = (a+b)/2; - if(Math.abs(x-m) <= (Math.abs(a-m))) - { - } - */ - double mx1 = (A.X + B.X) / 2; - double mx2 = (C.X + D.X) / 2; - double my1 = (A.Y + B.Y) / 2; - double my2 = (C.Y + D.Y) / 2; - if (Math.Abs(x - mx1) <= Math.Abs(A.X - mx1) - && Math.Abs(x - mx2) <= Math.Abs(C.X - mx2) - && Math.Abs(y - my1) <= Math.Abs(A.Y - my1) - && Math.Abs(y - my2) <= Math.Abs(C.Y - my2)) - { - return new DataPoint(x, y); - } - - } - return null; + RaisePropertyChanged("To"); + RaisePropertyChanged("From"); + XStep = (int)(Points.Count / 6); + LinearizationPlotControl.InvalidatePlot(true); } - #endregion - + } } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/ColorCalibrationView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/ColorCalibrationView.xaml index 02cef3c0d..de433b7e7 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/ColorCalibrationView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/ColorCalibrationView.xaml @@ -13,12 +13,13 @@ mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800" Background="Transparent" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}"> - <UserControl.Resources> - <converters:EmptyStringToNullConverter x:Key="EmptyStringToNullConverter" /> - <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/> - </UserControl.Resources> + <UserControl.Resources> + <converters:EmptyStringToNullConverter x:Key="EmptyStringToNullConverter" /> + <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/> + <converters:BooleanToVisibilityInverseConverter x:Key="BooleanToVisibilityInverseConverter"/> + </UserControl.Resources> - <Grid> + <Grid> <DockPanel> <Border DockPanel.Dock="Top" Background="{StaticResource TransparentBackgroundBrush200}" Margin="20 0" Padding="5" CornerRadius="5"> <Border.Effect> @@ -35,26 +36,28 @@ <ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/> </Grid.ColumnDefinitions> - <Grid Grid.Column="0" Margin="20 0 0 0"> + <Grid Grid.Column="0" Margin="20 0 20 0"> <Grid.RowDefinitions> - <RowDefinition Height="Auto"/> <RowDefinition Height="1*"/> - <RowDefinition Height="1"/> + <RowDefinition Height="3*"/> </Grid.RowDefinitions> - <Border Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="Auto" Height="80" Margin="0 0 0 20" > - <StackPanel Orientation="Vertical"> - <TextBlock FontSize="16" HorizontalAlignment="Left" >Liquid Type</TextBlock> + <Grid Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="Auto" Height="80" Margin="0 0 0 20" > + <Grid.ColumnDefinitions> + <ColumnDefinition Width="1*"></ColumnDefinition> + <ColumnDefinition Width="1*"></ColumnDefinition> + </Grid.ColumnDefinitions> + <StackPanel Orientation="Vertical" Grid.Column="0"> + <TextBlock FontSize="20" HorizontalAlignment="Left" >Liquid Type</TextBlock> <ComboBox Margin="0 20 0 0" MinWidth="140" HorizontalAlignment="Left" ItemsSource="{Binding LiquidTypes}" SelectedItem="{Binding LiquidType}" DisplayMemberPath="Name" Style="{StaticResource TransparentComboBoxStyle}" FontSize="16"></ComboBox> </StackPanel> - </Border> + <Button Grid.Column="1" VerticalAlignment="Top" Background="{StaticResource TransparentBackgroundBrush200}" MinWidth="160" Height="50" BorderBrush="{StaticResource TransparentBackgroundBrush200}" Command="{Binding CreateGraphCommand}" > + <TextBlock FontSize="16" Foreground="{StaticResource MainWindow.Foreground}">GET MAX DISPENSING RATE</TextBlock> + </Button> + </Grid> <Grid Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Stretch"> - <Grid.RowDefinitions> - <RowDefinition Height="1*"/> - <RowDefinition Height="Auto"/> - </Grid.RowDefinitions> - <DataGrid HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" Margin="0 0 0 10" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="True" CanUserDeleteRows="False" ItemsSource="{Binding Measurements}" > + <DataGrid HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="True" CanUserDeleteRows="False" ItemsSource="{Binding Measurements}" Margin="0 30 0 50"> <DataGrid.CellStyle> <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> <Setter Property="BorderThickness" Value="0"/> @@ -96,14 +99,17 @@ <mahapps:DataGridNumericUpDownColumn Header="B" Minimum="-128" Maximum="127" Binding="{Binding B}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" /> </DataGrid.Columns> </DataGrid> - <Button Grid.Row="1" Background="{StaticResource TransparentBackgroundBrush200}" MinWidth="160" Height="50" BorderBrush="{StaticResource TransparentBackgroundBrush200}" Command="{Binding CreateGraphCommand}" > - <TextBlock FontSize="16" Foreground="{StaticResource MainWindow.Foreground}">CREATE GRAPH</TextBlock> - </Button> + </Grid> </Grid> - <Grid Grid.Column="1"> - <Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="20 20 0 0"> - <oxy:Plot Title="{Binding CalibrationType}" x:Name="CalibrationPlot"> + <Grid Grid.Column="1" Margin="20 0 20 0"> + <Grid> + <Grid.RowDefinitions> + <RowDefinition Height="1*"/> + <RowDefinition Height="3*"/> + </Grid.RowDefinitions> + <Border Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0 20 0 0" BorderThickness="0" BorderBrush="{StaticResource DarkGrayBrush}" CornerRadius="5"> + <oxy:Plot Title="{Binding CalibrationLiquidTypeName}" x:Name="CalibrationPlot" Margin="0 0 10 0" Background="Transparent"> <oxy:Plot.Series > <oxy:LineSeries ItemsSource="{Binding Points}" Color="#73B6EC" MarkerFill="SteelBlue" MarkerType="Circle" /> <oxy:LineSeries ItemsSource="{Binding TargetPoints}" Color="#E14141" MarkerFill="#E14141" MarkerType="Circle" /> @@ -113,7 +119,59 @@ <oxy:LinearAxis Position="Left" Title = "Lab" MajorGridlineStyle="Solid" MinorGridlineStyle="Dot" IsZoomEnabled="True" Minimum="{Binding From}" Maximum="{Binding To}"/> </oxy:Plot.Axes> </oxy:Plot> - </Border> + </Border> + <Border BorderBrush="{StaticResource BlueBrush100}" BorderThickness="0" CornerRadius="5" Margin="55 0 20 0"> + <StackPanel Orientation="Vertical" Grid.Row="0" Margin="10 10 0 0"> + + <TextBlock FontSize="16" HorizontalAlignment="Left" Foreground="{StaticResource MainWindow.Foreground}" Height="50" Visibility="{Binding HasError, Converter={StaticResource BooleanToVisibilityInverseConverter}}"> + <Run FontSize="20"> Factor: </Run> + <Run Text="{Binding Factor}" Foreground="{StaticResource BlueBrush100}"></Run> + <LineBreak /> + </TextBlock> + <TextBlock FontSize="16" Foreground="{StaticResource MainWindow.Foreground}" FontWeight="SemiBold" Visibility="{Binding HasError, Converter={StaticResource BooleanToVisibilityConverter}}" Margin="0 20 10 10" >Warning:</TextBlock> + + <Border BorderThickness="1" CornerRadius="4" BorderBrush="{StaticResource DarkGrayBrush}" Visibility="{Binding HasError, Converter={StaticResource BooleanToVisibilityConverter}}" Height="Auto"> + <TextBlock Margin="5" Foreground="{StaticResource RedBrush300}" Text="{Binding ErrorMessage}" TextWrapping="Wrap" Padding="5" FontSize="14"/> + </Border> + </StackPanel> + </Border> + </Grid> + </Grid> + <Grid Grid.Column="2" Margin="10 0 0 0"> + <Grid> + <Grid.RowDefinitions> + <RowDefinition Height="1*"/> + <RowDefinition Height="3*"/> + </Grid.RowDefinitions> + <Grid Grid.Row="0" Margin="55 0 0 0"> + <Grid.ColumnDefinitions> + <ColumnDefinition/> + <ColumnDefinition Width="Auto"/> + </Grid.ColumnDefinitions> + <StackPanel Orientation="Vertical" Grid.Column="0"> + <TextBlock HorizontalAlignment="Left" FontSize="20" >Liquid Type</TextBlock> + <ComboBox Margin="0 20 0 0" MinWidth="140" HorizontalAlignment="Left" ItemsSource="{Binding LiquidTypes}" + SelectedItem="{Binding SelectedLinearizationLiquidType}" DisplayMemberPath="Name" + Style="{StaticResource TransparentComboBoxStyle}" FontSize="16"></ComboBox> + </StackPanel> + <Button Grid.Column="1" IsEnabled="False" VerticalAlignment="Top" Background="{StaticResource TransparentBackgroundBrush200}" MinWidth="160" Height="50" BorderBrush="{StaticResource TransparentBackgroundBrush200}" Command="{Binding CreateLinearizationGraphCommand}" > + <TextBlock FontSize="16" Foreground="{StaticResource MainWindow.Foreground}">CREATE LINEARIZATION GRAPH</TextBlock> + </Button> + + </Grid> + <Border Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0 20 0 0" BorderThickness="0" BorderBrush="{StaticResource DarkGrayBrush}" CornerRadius="5"> + <oxy:Plot Title="{Binding LinearizationLiquidTypeName}" x:Name="LinearizationPlot" Margin="0 0 10 0" Background="Transparent"> + <oxy:Plot.Series > + <oxy:LineSeries ItemsSource="{Binding LinearizationPoints}" Color="#73B6EC" MarkerFill="SteelBlue" /> + </oxy:Plot.Series> + <oxy:Plot.Axes> + <oxy:LinearAxis Position="Bottom" Title = "In Ink" MajorGridlineStyle="Solid" MinorGridlineStyle="Dot" IsZoomEnabled="True" Minimum="0"/> + <oxy:LinearAxis Position="Left" Title = "Out Ink" MajorGridlineStyle="Solid" MinorGridlineStyle="Dot" IsZoomEnabled="True" Minimum="0" /> + </oxy:Plot.Axes> + </oxy:Plot> + </Border> + </Grid> + </Grid> </Grid> </DockPanel> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/ColorCalibrationView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/ColorCalibrationView.xaml.cs index 4c456c12d..d56b3c6c9 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/ColorCalibrationView.xaml.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/ColorCalibrationView.xaml.cs @@ -33,6 +33,7 @@ namespace Tango.MachineStudio.RML.Views { ColorCalibrationViewVM vm = (ColorCalibrationViewVM)DataContext; vm.PlotControl = CalibrationPlot; + vm.LinearizationPlotControl = LinearizationPlot; vm.Loading(); } } |
