Extracts individual slices from a radiographic scanned film. This method is available in the Imaging Pro and above toolkits.
public class SliceCommand : Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand, Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
Public Class SliceCommand
Inherits Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand
Implements Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
public sealed class SliceCommand : Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
function Leadtools.ImageProcessing.Core.SliceCommand()
public ref class SliceCommand : public Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand, Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
.This command is designed to extract the individual slices from radiographic scanned film. The image below shows an example of these radiographic images before and after applying the SliceCommand where we use the output data to draw a white line around each separate slice.
Before
After
This method supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available only in the Document/Medical toolkits.
This event will draw a new region around the newly found slice.
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core
Public WithEvents sliceEventExample_S1 As SliceCommand
Public Sub SliceCommandExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"))
' Prepare the command
Dim cmd As New SliceCommand
cmd.FillColor = New RasterColor(0, 0, 0)
cmd.MaximumDeskewAngle = 40
cmd.Flags = SliceCommandFlags.Bicubic Or SliceCommandFlags.WithoutCut Or SliceCommandFlags.DeskewImage
' Apply the slice command on the image.
cmd.Run(leadImage)
' Print out the deskew amount.
Console.WriteLine("Deskew Angle = {0}", cmd.DeskewAngle)
End Sub
Private Sub SliceEventExample_SliceCommand(ByVal sender As Object, ByVal e As SliceCommandEventArgs) Handles sliceEventExample_S1.Slice
' create a region around the slice
If (e.Image.HasRegion) Then
e.Image.AddRectangleToRegion(Nothing, e.SliceRectangle, RasterRegionCombineMode.Xor)
Else
e.Image.AddRectangleToRegion(Nothing, e.SliceRectangle, RasterRegionCombineMode.Set)
End If
' print out the deskew angle
Console.WriteLine("The rotation Amount is {0}", e.DeskewAngle)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void SliceCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));
// Prepare the command
SliceCommand cmd = new SliceCommand();
cmd.FillColor = new RasterColor(0, 0, 0);
cmd.MaximumDeskewAngle = 40;
cmd.Flags = SliceCommandFlags.Bicubic | SliceCommandFlags.WithoutCut | SliceCommandFlags.DeskewImage;
cmd.Slice += new EventHandler<SliceCommandEventArgs>(SliceEventExample_S1);
// Apply the slice command on the image.
cmd.Run(image);
// Print out the deskew amount.
Console.WriteLine("Deskew Angle = {0}", cmd.DeskewAngle);
}
private void SliceEventExample_S1(object sender, SliceCommandEventArgs e)
{
// create a region around the slice
if (e.Image.HasRegion)
e.Image.AddRectangleToRegion(null, e.SliceRectangle, Leadtools.RasterRegionCombineMode.Xor);
else
e.Image.AddRectangleToRegion(null, e.SliceRectangle, Leadtools.RasterRegionCombineMode.Set);
// print out the deskew angle
Console.WriteLine("The rotation Amount is {0}", e.DeskewAngle);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public async Task SliceCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
// Load the image
string srcFileName = @"Assets\Image1.cmp";
StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));
// Prepare the command
SliceCommand cmd = new SliceCommand();
cmd.FillColor = RasterColorHelper.Create(0, 0, 0);
cmd.MaximumDeskewAngle = 40;
cmd.Flags = SliceCommandFlags.Bicubic | SliceCommandFlags.WithoutCut | SliceCommandFlags.DeskewImage;
cmd.Slice += new EventHandler<SliceCommandEventArgs>(SliceEventExample_S1);
// Apply the slice command on the image.
cmd.Run(image);
// Print out the deskew amount.
Debug.WriteLine("Deskew Angle = {0}", cmd.DeskewAngle);
}
private void SliceEventExample_S1(object sender, SliceCommandEventArgs e)
{
// create a region around the slice
if (e.Image.HasRegion)
e.Image.AddRectangleToRegion(null, e.SliceRectangle, Leadtools.RasterRegionCombineMode.Xor);
else
e.Image.AddRectangleToRegion(null, e.SliceRectangle, Leadtools.RasterRegionCombineMode.Set);
// print out the deskew angle
Debug.WriteLine("The rotation Amount is {0}", e.DeskewAngle);
}
Products |
Support |
Feedback: SliceCommand Class - Leadtools.ImageProcessing.Core |
Introduction |
Help Version 19.0.2017.3.21
|
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.