C#
VB
C++
Performs semi-automatic segmentation by creating minimal paths that follow the boundaries of the objects in the image.
public class GWireCommand : IDisposable Public Class GWireCommandImplements System.IDisposable
public ref class GWireCommand : public System.IDisposable
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing.Core;public void GWireCommandExample(){RasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;//Load an imageRasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm"));GWireCommand command = new GWireCommand(image, 90);List<LeadPoint> SeedPoints = new List<LeadPoint>();// Get the boundaries of the objectSeedPoints.Add(new LeadPoint(200, 163));SeedPoints.Add(new LeadPoint(245, 195));SeedPoints.Add(new LeadPoint(289, 163));SeedPoints.Add(new LeadPoint(282, 188));SeedPoints.Add(new LeadPoint(304, 314));SeedPoints.Add(new LeadPoint(247, 271));SeedPoints.Add(new LeadPoint(201, 315));SeedPoints.Add(new LeadPoint(228, 199));SeedPoints.Add(new LeadPoint(199, 175));int pointIdx = 0;List<LeadPoint> AllPaths = new List<LeadPoint>();// Loop over the list of SeedPoints to get the minimum path between each set of two points.// And add the minimum path between the two points to the AllPaths List.for (int index = 0; index < 4; index++){// Set the seed point.command.SetSeedPoint(SeedPoints[pointIdx]);pointIdx++;// Get the minimum path from the seed point to the target point.LeadPoint[] minPath = command.GetMinPath(SeedPoints[pointIdx]);// Add the minimum path to the AllPaths list to be used later to create a region.AllPaths.AddRange(minPath);}// Use the minimum path around the object and convert it to a region.image.AddPolygonToRegion(null, AllPaths.ToArray(), LeadFillMode.Alternate, RasterRegionCombineMode.Set);}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessing.CorePublic Sub GWireCommandExample()Dim codecs As RasterCodecs = New RasterCodecs()codecs.ThrowExceptionsOnInvalidImages = True'Load an imageDim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm"))Dim command As GWireCommand = New GWireCommand(image, 90)Dim SeedPoints As List(Of LeadPoint) = New List(Of LeadPoint)()' Get the boundaries of the objectSeedPoints.Add(New LeadPoint(200, 163))SeedPoints.Add(New LeadPoint(245, 195))SeedPoints.Add(New LeadPoint(289, 163))SeedPoints.Add(New LeadPoint(282, 188))SeedPoints.Add(New LeadPoint(304, 314))SeedPoints.Add(New LeadPoint(247, 271))SeedPoints.Add(New LeadPoint(201, 315))SeedPoints.Add(New LeadPoint(228, 199))SeedPoints.Add(New LeadPoint(199, 175))Dim pointIdx As Integer = 0Dim AllPaths As List(Of LeadPoint) = New List(Of LeadPoint)()' Loop over the list of SeedPoints to get the minimum path between each set of two points.' And add the minimum path between the two points to the AllPaths List.For index As Integer = 0 To 3' Set the seed point.command.SetSeedPoint(SeedPoints(pointIdx))pointIdx += 1' Get the minimum path from the seed point to the target point.Dim minPath As LeadPoint() = command.GetMinPath(SeedPoints(pointIdx))' Add the minimum path to the AllPaths list to be used later to create a region.AllPaths.AddRange(minPath)Next index' Use the minimum path around the object and convert it to a region.image.AddPolygonToRegion(Nothing, AllPaths.ToArray(), LeadFillMode.Alternate, RasterRegionCombineMode.Set)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
