LEADTOOLS Image Processing (Leadtools.ImageProcessing.Core assembly)
LEAD Technologies, Inc

FastFourierTransformCommand Class

Example 





Members 
Computes the Fast Fourier transform of an image or the Inverse Fast Fourier transform as specified by flags. This command is available in the Raster Pro and above toolkits. .NET support WinRT support
Object Model
FastFourierTransformCommand ClassFourierTransformInformation Class
Syntax
'Declaration
 
Public Class FastFourierTransformCommand 
   Inherits Leadtools.ImageProcessing.RasterCommand
   Implements Leadtools.ImageProcessing.IRasterCommand 
'Usage
 
Dim instance As FastFourierTransformCommand
public sealed class FastFourierTransformCommand : Leadtools.ImageProcessing.IRasterCommand  
function Leadtools.ImageProcessing.Core.FastFourierTransformCommand()
public ref class FastFourierTransformCommand : public Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand  
Remarks
For more information, refer to Removing Noise.
Example
 
Public Sub FastFourierTransformCommandExample()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True

   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"))

   ' Prepare the command
   ' Resize the image to make sure the image's dimensions are power of two.
   Dim sizecommand As SizeCommand = New SizeCommand(256, 256, RasterSizeFlags.Bicubic)

   sizecommand.Run(leadImage)

   Dim FTArray As FourierTransformInformation = New FourierTransformInformation(leadImage)
   ' Apply FFT.
   Dim command As FastFourierTransformCommand = New FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.FastFourierTransform Or FastFourierTransformCommandFlags.Gray)

   command.Run(leadImage)
   Dim rcRect As LeadRect = New LeadRect(0, 0, leadImage.Width \ 2, leadImage.Height \ 2)
   Dim FreqCommand As FrequencyFilterCommand = New FrequencyFilterCommand(FTArray, rcRect, FrequencyFilterCommandFlags.InsideX Or FrequencyFilterCommandFlags.OutsideY)

   Dim InvCommand As FastFourierTransformCommand = New FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.InverseFastFourierTransform Or FastFourierTransformCommandFlags.Gray Or FastFourierTransformCommandFlags.Scale Or FastFourierTransformCommandFlags.Both)

   InvCommand.Run(leadImage)

End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void FastFourierTransformCommandExample()
   {
      // Load an image
      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;

      RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));

      // Prepare the command
      // Resize the image to make sure the image's dimensions are power of two.
      SizeCommand sizecommand = new SizeCommand(256, 256, Leadtools.RasterSizeFlags.Bicubic);

      sizecommand.Run(image);

      FourierTransformInformation FTArray = new FourierTransformInformation(image);
      // Apply FFT.
      FastFourierTransformCommand command = new FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.FastFourierTransform |  FastFourierTransformCommandFlags.Gray);
      command.Run(image);
      LeadRect rcRect = new LeadRect(0, 0, image.Width / 2, image.Height / 2);
      FrequencyFilterCommand FreqCommand = new FrequencyFilterCommand(FTArray, rcRect, FrequencyFilterCommandFlags.InsideX | FrequencyFilterCommandFlags.OutsideY);

      FastFourierTransformCommand InvCommand = new FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.InverseFastFourierTransform |  FastFourierTransformCommandFlags.Gray | FastFourierTransformCommandFlags.Scale | FastFourierTransformCommandFlags.Both);
      InvCommand.Run(image);

   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
function FastFourierTransformCommandExample()
{
   var codecs = new Leadtools.Codecs.RasterCodecs();
   codecs.throwExceptionsOnInvalidImages = true;

   // Load the image
   var srcFileName = "Assets\\Image1.cmp";
   return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
      return codecs.loadAsync(Leadtools.LeadStreamFactory.create(loadFile));
   }).then(function (image) {
      // Prepare the command
      with (Leadtools.ImageProcessing.Core) {
         // Resize the image to make sure the image's dimensions are power of two.
         var sizecommand = new Leadtools.ImageProcessing.SizeCommand(256, 256, Leadtools.RasterSizeFlags.bicubic);
         
         sizecommand.run(image);
            
         var FTArray = new FourierTransformInformation(image);
         // Apply FFT.
         var command = new FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.fastFourierTransform |  FastFourierTransformCommandFlags.gray);
         command.run(image);
         var rcRect = Leadtools.LeadRectHelper.create(0, 0, image.width / 2, image.height / 2);
         var FreqCommand = new FrequencyFilterCommand(FTArray, rcRect, FrequencyFilterCommandFlags.insideX | FrequencyFilterCommandFlags.outsideY);
         
         var InvCommand = new FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.inverseFastFourierTransform |  FastFourierTransformCommandFlags.gray | FastFourierTransformCommandFlags.scale | FastFourierTransformCommandFlags.both);
         InvCommand.run(image);
      }
   });
}
[TestMethod]
public async Task FastFourierTransformCommandExample()
{
   // 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
   // Resize the image to make sure the image's dimensions are power of two.
   SizeCommand sizecommand = new SizeCommand(256, 256, Leadtools.RasterSizeFlags.Bicubic);

   sizecommand.Run(image);

   FourierTransformInformation FTArray = new FourierTransformInformation(image);
   // Apply FFT.
   FastFourierTransformCommand command = new FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.FastFourierTransform |  FastFourierTransformCommandFlags.Gray);
   command.Run(image);
   LeadRect rcRect = LeadRectHelper.Create(0, 0, image.Width / 2, image.Height / 2);
   FrequencyFilterCommand FreqCommand = new FrequencyFilterCommand(FTArray, rcRect, FrequencyFilterCommandFlags.InsideX | FrequencyFilterCommandFlags.OutsideY);

   FastFourierTransformCommand InvCommand = new FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.InverseFastFourierTransform |  FastFourierTransformCommandFlags.Gray | FastFourierTransformCommandFlags.Scale | FastFourierTransformCommandFlags.Both);
   InvCommand.Run(image);

}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

FastFourierTransformCommand Members
Leadtools.ImageProcessing.Core Namespace
Removing Noise
FrequencyFilterMaskCommand Class
DiscreteFourierTransformCommand Class
FourierTransformDisplayCommand Class
Leadtools.ImageProcessing.Effects.AverageCommand
MedianCommand Class
Leadtools.ImageProcessing.Color.IntensityDetectCommand
Leadtools.ImageProcessing.Effects.SpatialFilterCommand
MaximumCommand Class
MinimumCommand Class
Leadtools.ImageProcessing.Effects.AddNoiseCommand
Leadtools.ImageProcessing.Effects.BinaryFilterCommand
Leadtools.ImageProcessing.Color.ChangeHueSaturationIntensityCommand
Leadtools.ImageProcessing.Color.ColorThresholdCommand
Leadtools.ImageProcessing.Effects.DirectionEdgeStatisticalCommand
FrequencyFilterCommand Class
Leadtools.ImageProcessing.Effects.StatisticsInformationCommand
Leadtools.ImageProcessing.Effects.FeretsDiameterCommand
Leadtools.ImageProcessing.Effects.ObjectInformationCommand
Leadtools.ImageProcessing.Effects.RegionContourPointsCommand
Leadtools.ImageProcessing.Color.MathematicalFunctionCommand
Leadtools.ImageProcessing.SpecialEffects.RevEffectCommand
Leadtools.ImageProcessing.Color.SegmentCommand
SubtractBackgroundCommand Class
Leadtools.ImageProcessing.Effects.UserFilterCommand
Leadtools.ImageProcessing.SpecialEffects.FragmentCommand
Leadtools.ImageProcessing.Effects.HighPassCommand
Leadtools.ImageProcessing.Effects.UnsharpMaskCommand

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.