Extracts individual slices from a radiographic scanned film. This method is available in the Imaging Pro and above toolkits.
public class SliceCommand : RasterCommand
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.
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";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core
Leadtools.Examples.Support.SetLicense()
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
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