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 SliceCommandInherits Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommandImplements 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 imageRasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));// Prepare the commandSliceCommand 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 sliceif (e.Image.HasRegion)e.Image.AddRectangleToRegion(null, e.SliceRectangle, Leadtools.RasterRegionCombineMode.Xor);elsee.Image.AddRectangleToRegion(null, e.SliceRectangle, Leadtools.RasterRegionCombineMode.Set);// print out the deskew angleConsole.WriteLine("The rotation Amount is {0}", e.DeskewAngle);}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessing.CoreLeadtools.Examples.Support.SetLicense()Public WithEvents sliceEventExample_S1 As SliceCommandPublic Sub SliceCommandExample()Dim codecs As New RasterCodecs()codecs.ThrowExceptionsOnInvalidImages = TrueDim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"))' Prepare the commandDim cmd As New SliceCommandcmd.FillColor = New RasterColor(0, 0, 0)cmd.MaximumDeskewAngle = 40cmd.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 SubPrivate Sub SliceEventExample_SliceCommand(ByVal sender As Object, ByVal e As SliceCommandEventArgs) Handles sliceEventExample_S1.Slice' create a region around the sliceIf (e.Image.HasRegion) Thene.Image.AddRectangleToRegion(Nothing, e.SliceRectangle, RasterRegionCombineMode.Xor)Elsee.Image.AddRectangleToRegion(Nothing, e.SliceRectangle, RasterRegionCombineMode.Set)End If' print out the deskew angleConsole.WriteLine("The rotation Amount is {0}", e.DeskewAngle)End SubPublic NotInheritable Class LEAD_VARSPublic 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
