Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core
Public WithEvents rakeRemoveCommand_S1 As RakeRemoveCommand
Public Sub RakeRemoveCommandExample()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif"))
   ' Prepare the command
   rakeRemoveCommand_S1 = New RakeRemoveCommand
   rakeRemoveCommand_S1.MinLength = 50
   rakeRemoveCommand_S1.MinWallHeight = 10
   rakeRemoveCommand_S1.MaxWidth = 3
   rakeRemoveCommand_S1.MaxWallPercent = 25
   rakeRemoveCommand_S1.MaxSideteethLength = 60
   rakeRemoveCommand_S1.MaxMidteethLength = 50
   rakeRemoveCommand_S1.Gaps = 1
   rakeRemoveCommand_S1.Variance = 1
   rakeRemoveCommand_S1.TeethSpacing = 5
   rakeRemoveCommand_S1.AutoFilter = False
   rakeRemoveCommand_S1.Run(leadImage)
End Sub
Private Sub RakeRemoveCommand_RakeRemove_S1(ByVal sender As Object, ByVal e As RakeRemoveCommandEventArgs) Handles rakeRemoveCommand_S1.RakeRemove
   MessageBox.Show("Rake length is " + "( " + e.Length.ToString() + " )")
   e.Status = RemoveStatus.Remove
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 RakeRemoveCommandExample()
{
    // Load an image
    RasterCodecs codecs = new RasterCodecs();
    codecs.ThrowExceptionsOnInvalidImages = true;
    RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));
    // Prepare the command
    RakeRemoveCommand command = new RakeRemoveCommand();
    command.RakeRemove += new EventHandler<RakeRemoveCommandEventArgs>(RakeRemoveEvent_S1);
    command.MinLength = 50;
    command.MinWallHeight = 10;
    command.MaxWidth = 3;
    command.MaxWallPercent = 25;
    command.MaxSideteethLength = 60;
    command.MaxMidteethLength = 50;
    command.Gaps = 1;
    command.Variance = 1;
    command.TeethSpacing = 5;
    command.AutoFilter = false;
    command.Run(image);
}
private void RakeRemoveEvent_S1(object sender, RakeRemoveCommandEventArgs e)
{
    MessageBox.Show("Rake length is " + "( " + e.Length.ToString() + " )" );
    e.Status = RemoveStatus.Remove;
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
             
   
     
            //    
//    public async Task RakeRemoveCommandExample()
//    {
//        // 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
//        RakeRemoveCommand command = new RakeRemoveCommand();
//        command.RakeRemove += new EventHandler<RakeRemoveCommandEventArgs>(RakeRemoveEvent_S1);
//        command.MinLength = 50;
//        command.MinWallHeight = 10;
//        command.MaxWidth = 3;
//        command.MaxWallPercent = 25;
//        command.MaxSideteethLength = 60;
//        command.MaxMidteethLength = 50;
//        command.Gaps = 1;
//        command.Variance = 1;
//        command.TeethSpacing = 5;
//        command.AutoFilter = false;
         
//        command.Run(image);
         
//    }
//    private void RakeRemoveEvent_S1(object sender, RakeRemoveCommandEventArgs e)
//    {
//        Debug.WriteLine("Rake length is " + "( " + e.Length.ToString() + " )" );
//        e.Status = RemoveStatus.Remove;
//    }
//