aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs12
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs26
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml46
3 files changed, 74 insertions, 10 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs
index ca3c3e322..be7dc3a67 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs
@@ -248,6 +248,12 @@ namespace Tango.MachineStudio.RML.ViewModels
input.UseLubricantTransform = RML.UseLubricantTransform;
input.VMax = RML.VMax;
+ input.SetPredictionType(RML.PredictionType);
+ input.SetPredictionMethod(RML.PredictionMethod);
+ input.CMYKVHueThreshhold = RML.CmykvHueThreshold;
+ input.CMYKVK = RML.KNearestK;
+ input.SimpleRGBPreviewFactor = RML.SimpleRgbPreviewFactor;
+
//Validate calibration data
foreach (var vm in LiquidsCalibrationData.Where(x => x.LiquidType.HasPigment))
{
@@ -387,6 +393,12 @@ namespace Tango.MachineStudio.RML.ViewModels
input.UseLubricantTransform = RML.UseLubricantTransform;
input.VMax = RML.VMax;
+ input.SetPredictionType(RML.PredictionType);
+ input.SetPredictionMethod(RML.PredictionMethod);
+ input.CMYKVHueThreshhold = RML.CmykvHueThreshold;
+ input.CMYKVK = RML.KNearestK;
+ input.SimpleRGBPreviewFactor = RML.SimpleRgbPreviewFactor;
+
foreach (var vm in LiquidsCalibrationData.Where(x => x.LiquidType.HasPigment))
{
InputLiquid inputLiquid = new InputLiquid();
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs
index e3c128cb7..db0d7e2aa 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs
@@ -348,9 +348,33 @@ namespace Tango.MachineStudio.RML.ViewModels
BatchConversionCommand = new RelayCommand(BatchConversion);
}
- public override void OnApplicationReady()
+ public override async void OnApplicationReady()
{
+ using (_notification.PushTaskItem("Loading color measurements..."))
+ {
+ using (var db = ObservablesContext.CreateDefault())
+ {
+ var measurements = await db.ColorMeasurements.ToListAsync();
+ List<PMR.ColorLab.ColorMeasurement> pmrMeasurements = new List<PMR.ColorLab.ColorMeasurement>();
+ foreach (var m in measurements)
+ {
+ pmrMeasurements.Add(new PMR.ColorLab.ColorMeasurement()
+ {
+ C = m.C,
+ M = m.M,
+ Y = m.Y,
+ K = m.K,
+ V = m.V,
+ L = m.L,
+ A = m.A,
+ B = m.B,
+ });
+ }
+
+ DefaultColorConverter.SetMeasurements(pmrMeasurements);
+ }
+ }
}
private async Task LoadRmls()
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml
index 8730355cc..cdacbae60 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml
@@ -23,13 +23,14 @@
<converters:ColorToIntegerConverter x:Key="ColorToIntegerConverter"></converters:ColorToIntegerConverter>
<converters:EnumToItemsSourceConverter x:Key="EnumToItemsSourceConverter"/>
<converters:EnumToDescriptionConverter x:Key="EnumToDescriptionConverter"/>
+ <converters:EnumToVisibilityConverter x:Key="EnumToVisibilityConverter" />
<ObjectDataProvider x:Key="Plies" ObjectType="{x:Type sys:Enum}" MethodName="GetValues">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="enumerations:Plies"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
-
+
</UserControl.Resources>
<Grid Margin="20">
@@ -105,7 +106,7 @@
<TextBlock Text="Condition:" ></TextBlock>
<ComboBox ItemsSource="{Binding Conditions}" SelectedItem="{Binding ActiveRML.MediaCondition,Mode=TwoWay}" DisplayMemberPath="Name"></ComboBox>-->
-
+
<TextBlock Text="Linear Density:" ></TextBlock>
<mahapps:NumericUpDown Minimum="0" Maximum="9999" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left" Value="{Binding ActiveRML.FiberSize,Mode=TwoWay}" FontSize="16"></mahapps:NumericUpDown>
@@ -124,7 +125,7 @@
<TextBlock Text="Count (den):" ></TextBlock>
<TextBlock Text="{Binding ActiveRML.DencityCount}" Foreground="Blue" ></TextBlock>
-
+
<!--<TextBlock Text="Fiber Shape:" ></TextBlock>
<ComboBox ItemsSource="{Binding FiberShapes}" SelectedItem="{Binding ActiveRML.FiberShape,Mode=TwoWay}" DisplayMemberPath="Name"></ComboBox>-->
@@ -139,7 +140,7 @@
<!--<TextBlock Text="Plies Per Thread:" ></TextBlock>
<mahapps:NumericUpDown Minimum="0" Maximum="10000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left" Value="{Binding ActiveRML.PliesPerThread,Mode=TwoWay}"></mahapps:NumericUpDown>-->
-
+
<!--<TextBlock Text="Tensile Strength:" ></TextBlock>
<mahapps:NumericUpDown Minimum="0" Maximum="10000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" Value="{Binding ActiveRML.TensileStrength,Mode=TwoWay}"></mahapps:NumericUpDown>
@@ -224,11 +225,12 @@
</Grid>
</Border>
<Grid DockPanel.Dock="Top" Background="#35B5B5B5" Margin="20 0">
- <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
+ <ScrollViewer HorizontalScrollBarVisibility="Disabled">
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<Grid>
<StackPanel Orientation="Vertical" HorizontalAlignment="Left">
- <Image Source="../Images/data-table.png" Height="80" Opacity="0.8" ></Image>
- <StackPanel VerticalAlignment="Center" Width="200" Margin="5 20 5 10">
+ <Image Source="../Images/data-table.png" Height="20" Opacity="0.8" ></Image>
+ <StackPanel VerticalAlignment="Center" Margin="5 20 5 10">
<StackPanel>
<StackPanel>
@@ -286,7 +288,7 @@
</StackPanel>
</StackPanel>
- <TextBlock Margin="0 40 0 0" Text="Color Conversion Version:" HorizontalAlignment="Center"></TextBlock>
+ <TextBlock Margin="0 20 0 0" Text="Color Conversion Version:" HorizontalAlignment="Center"></TextBlock>
<mahapps:NumericUpDown Minimum="1" Maximum="6" Value="{Binding ActiveRML.ColorConversionVersion}" HorizontalContentAlignment="Center" Background="Transparent" BorderBrush="{StaticResource DimGrayBrush}" HasDecimals="False" Margin="0 5 0 0" />
<CheckBox ToolTip="Use the color conversion engine to generate gradients" IsChecked="{Binding ActiveRML.UseColorLibGradients}" HorizontalAlignment="Left" Margin="0 20 0 0">Enable Gradient Generation</CheckBox>
@@ -297,10 +299,36 @@
<TextBlock VerticalAlignment="Center" Text="V-Max:" ></TextBlock>
<mahapps:NumericUpDown Minimum="1" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" HorizontalAlignment="Right" Width="100" Value="{Binding ActiveRML.VMax,Mode=TwoWay}"></mahapps:NumericUpDown>
</DockPanel>
- </StackPanel>
+
+ <Separator Margin="0 40 0 0" Foreground="Cyan" Background="Violet" Height="2" />
+ <TextBlock Margin="0 10 0 0" Text="CMYKV Prediction Type" FontSize="10"></TextBlock>
+ <ComboBox Margin="0 5 0 0" Style="{StaticResource TransparentComboBoxStyle}" ItemsSource="{Binding Source={x:Type enumerations:CMYKVPredictionTypes},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValue="{Binding ActiveRML.PredictionType}" SelectedValuePath="Value" DisplayMemberPath="DisplayName"></ComboBox>
+
+ <StackPanel Visibility="{Binding ActiveRML.PredictionType,Converter={StaticResource EnumToVisibilityConverter},ConverterParameter='Predict_CMYKV,Predict_RGB,PredictAll'}">
+ <TextBlock Margin="0 20 0 0" Text="CMYKV Prediction Method" FontSize="10"></TextBlock>
+ <ComboBox Margin="0 5 0 0" Style="{StaticResource TransparentComboBoxStyle}" ItemsSource="{Binding Source={x:Type enumerations:CMYKVPredictionMethods},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValue="{Binding ActiveRML.PredictionMethod}" SelectedValuePath="Value" DisplayMemberPath="DisplayName"></ComboBox>
+
+ <StackPanel Margin="0 20 0 0" Visibility="{Binding ActiveRML.PredictionMethod,Converter={StaticResource EnumToVisibilityConverter},ConverterParameter='KNearestNeighbors'}">
+ <TextBlock FontSize="10" Text="K-Value:"></TextBlock>
+ <mahapps:NumericUpDown Minimum="5" Maximum="1000" Value="{Binding ActiveRML.KNearestK}" HorizontalContentAlignment="Center" Background="Transparent" BorderBrush="{StaticResource DimGrayBrush}" HasDecimals="False" Margin="0 5 0 0" />
+ </StackPanel>
+
+ <TextBlock FontSize="10" Margin="0 20 0 0" Text="Hue Threshold:"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="360" Value="{Binding ActiveRML.CmykvHueThreshold}" HorizontalContentAlignment="Center" Background="Transparent" BorderBrush="{StaticResource DimGrayBrush}" HasDecimals="True" Margin="0 5 0 0" />
+ </StackPanel>
+
+ <StackPanel Visibility="{Binding ActiveRML.PredictionType,Converter={StaticResource EnumToVisibilityConverter},ConverterParameter='SimpleRGBPreview'}">
+ <TextBlock FontSize="10" Margin="0 20 0 0">
+ <Run>Blending Factor:</Run>
+ <Run Text="{Binding ActiveRML.SimpleRgbPreviewFactor,StringFormat=N2,Mode=OneWay}"></Run>
+ </TextBlock>
+ <Slider Minimum="0.1" Maximum="1" Value="{Binding ActiveRML.SimpleRgbPreviewFactor}" Margin="0 5 0 0" SmallChange="0.01" />
+ </StackPanel>
+ </StackPanel>
</StackPanel>
</Grid>
</StackPanel>
+ </ScrollViewer>
</Grid>
</DockPanel>
</Grid>