Files
Tiago Conceição 957729525d v2.27.0
- **Tool - Morph:**
   - (Add) Operator: White tophat - Removes small isolated pixels and only return its affected pixels (Image - Noise removal)
   - (Add) Operator: Black tophat - Closes small holes inside the objects and only return its affected pixels (Gap closing - Image)
   - (Add) Operator: Hit or miss - Finds pixels in a given kernel pattern
   - (Remove) Operator: 'Isolate features' as that is the same as the 'White tophat' and is already inbuilt into OpenCV
- **Kernels:**
   - (Add) Option: Use dynamic kernel to enhancement the quality of the borders (#367)
   - (Add) Kernels are now saved with the operation profile
- **PrusaSlicer:**
   - (Add) Support to slice files to be converted for encrypted CTB format
   - (Add) Printer: Elegoo Mars 3 (#370)
   - (Add) Printer: EPAX E10 5K
   - (Add) Printer: EPAX X10 5K
   - (Add) Printer: Phrozen Sonic Mini 8K
   - (Add) Printer: Phrozen Sonic Mega 8K
   - (Fix) Printer: AnyCubic Photon Mono 4K - display size (#369)
   - (Fix) Printer: AnyCubic Photon Mono X 6K - display size (#369)
- (Add) Tool - Double exposure: Kernel configuration
- (Add) Tool - Pixel arithmetic: Kernel configuration
- (Add) Calibration - Elephant foot: Use dynamic kernel to enhancement the quality of the borders (#367)
- (Fix) Calibrate - Elephant foot: Redo (Ctrl + Z) the operation was crashing the application
- (Fix) CTB, PHZ, FDG: Converting files with a null machine name would cause a exception
- (Fix) Anycubic files: Bottom lift and speed were showing default values instead of real used value
2021-12-18 01:06:06 +00:00

90 lines
4.2 KiB
XML

<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="500" d:DesignHeight="300"
x:Class="UVtools.WPF.Controls.KernelControl">
<StackPanel Orientation="Vertical" Spacing="10">
<CheckBox IsChecked="{Binding Kernel.UseDynamicKernel}"
Content="Use dynamic kernel to enhancement the quality of the borders"/>
<Grid RowDefinitions="Auto" ColumnDefinitions="*,10,Auto" IsEnabled="{Binding !Kernel.UseDynamicKernel}">
<TextBox Grid.Row="0" Grid.Column="0"
ToolTip.Tip="The kernel or structuring element used to probe the input image.
&#x0a;A structuring element is a matrix that identifies the pixel in the image being processed and defines the neighborhood used in the processing of each pixel."
VerticalAlignment="Stretch"
MaxHeight="300"
MaxWidth="700"
AcceptsReturn="True"
Watermark="Kernel matrix"
UseFloatingWatermark="True"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
TextWrapping="NoWrap"
Text="{Binding Kernel.MatrixText}"/>
<Grid
Grid.Column="2"
RowDefinitions="Auto,10,Auto,10,Auto,20,Auto"
ColumnDefinitions="Auto,10,Auto,10,Auto,10,Auto">
<TextBlock HorizontalAlignment="Right" VerticalAlignment="Center" Text="Shape:"/>
<ComboBox Grid.Row="0" Grid.ColumnSpan="5" Grid.Column="2"
SelectedItem="{Binding Kernel.KernelShape}"
Items="{Binding Kernel.KernelShapes}"
Width="160"/>
<TextBlock Grid.Column="0" Grid.Row="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="Size:"/>
<NumericUpDown Grid.Column="2" Grid.Row="2"
VerticalAlignment="Center"
Minimum="2"
Value="{Binding Kernel.MatrixWidth}"/>
<TextBlock Grid.Column="4" Grid.Row="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="x"/>
<NumericUpDown Grid.Column="6" Grid.Row="2"
VerticalAlignment="Center"
Minimum="2"
Value="{Binding Kernel.MatrixHeight}"/>
<TextBlock Grid.Column="0" Grid.Row="4"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="Anchor X:"/>
<NumericUpDown Grid.Column="2" Grid.Row="4"
VerticalAlignment="Center"
Minimum="-1"
ToolTip.Tip="X coordinate of the kenel origin, -1 for auto-center."
Value="{Binding Kernel.AnchorX}"/>
<TextBlock Grid.Column="4" Grid.Row="4"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="Y:"/>
<NumericUpDown Grid.Column="6" Grid.Row="4"
VerticalAlignment="Center"
Minimum="-1"
ToolTip.Tip="Y coordinate of the kernel origin, -1 for auto-center."
Value="{Binding Kernel.AnchorY}"/>
<Button Grid.Column="0" Grid.Row="6" Grid.ColumnSpan="3"
Padding="10"
Content="Generate"
Command="{Binding GenerateKernel}"/>
<Button Grid.Column="4" Grid.Row="6" Grid.ColumnSpan="3"
Padding="10"
Content="Reset"
Command="{Binding Kernel.ResetKernel}"/>
</Grid>
</Grid>
</StackPanel>
</UserControl>