←Select platform

GWireCommand Constructor()

Summary
Initializes a new GWireCommand class object.
Syntax
C#
C++/CLI
Python
public GWireCommand() 
public: 
GWireCommand(); 
__init__() # Default constructor 
Remarks

By default, the External Energy is set at 90 and the Internal Energy at 10. External energy represents the image forces while calculating the minimum path, (i.e., the boundaries of the object of interest). Higher external energies are used for complex objects. Internal energy represents the internal curve energy due to bending or a discontinuity. Higher internal energy minimizes curve bending and results in smoother curves. Internal energy reduces the effect of image noise by reducing the effect of image forces. In the code, set only the external energy. The internal energy is calculated as percentage 100 – ExternalEnergy.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void GWireCommandExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   //Load an image 
   RasterImage 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 object 
   SeedPoints.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:\LEADTOOLS23\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 23.0.2024.3.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Core Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.