public class FourierTransformInformation : IDisposable
@interface LTFourierTransformInformation : NSObject
public class FourierTransformInformation
public ref class FourierTransformInformation : public System.IDisposable
class FourierTransformInformation(IDisposable):
The Fourier Transform commands return an instance of FourierTransformInformation. This object holds all the frequency domain information (harmonics information). Each Data element holds the information about the harmonic frequency at its location. This information is an instance of the Complex structure, which contains the real and imaginary values of the harmonic.
To obtain the magnitude, take the square root of the sum of the squared real and imaginary values.
To calculate the phase, find the arctan of (imaginary/real).
To get/set the value of a harmonic at a specific location, use the GetDataOf / SetData methods. (0,0) is the first element.
The frequency harmonics are sorted as follows:
LowX LowY---------HighXLowY----------LowXLowY
| | |
| | |
| | |
| | |
| | |
| | |
LowXHighY---------HighXHighY---------LowXHighY
| | |
| | |
| | |
| | |
| | |
LowXLowY----------HighXLowY----------LowXLowY
This structure is used only by the Fourier Transform methods:
This command does not support 32-bit grayscale images.
using Leadtools;
using Leadtools.ImageProcessing;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void FastFourierTransformCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\FourierTransform.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:\LEADTOOLS23\Resources\Images";
}
import java.io.File;
import java.io.IOException;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import static org.junit.Assert.assertTrue;
import leadtools.*;
import leadtools.codecs.*;
import leadtools.imageprocessing.*;
import leadtools.imageprocessing.core.*;
public void fastFourierTransformCommandExample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.setThrowExceptionsOnInvalidImages(true);
RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "FourierTransform.jpg"));
// Prepare the command
// Resize the image to make sure the image's dimensions are power of two.
SizeCommand sizeCommand = new SizeCommand(256, 256, RasterSizeFlags.BICUBIC.getValue());
sizeCommand.run(image);
FourierTransformInformation ftArray = new FourierTransformInformation(image);
// Apply FFT.
FastFourierTransformCommand command = new FastFourierTransformCommand();
command.setFourierTransformInformation(ftArray);
command.setFlags(FastFourierTransformCommandFlags.FAST_FOURIER_TRANSFORM.getValue()
| FastFourierTransformCommandFlags.GRAY.getValue());
command.run(image);
FastFourierTransformCommand invCommand = new FastFourierTransformCommand(ftArray,
FastFourierTransformCommandFlags.INVERSE_FAST_FOURIER_TRANSFORM.getValue()
| FastFourierTransformCommandFlags.GRAY.getValue()
| FastFourierTransformCommandFlags.SCALE.getValue()
| FastFourierTransformCommandFlags.BOTH.getValue());
invCommand.run(image);
// Save the image
String outputFileName = combine(LEAD_VARS_IMAGES_DIR, "FourierTransform_constructorResult.jpg");
codecs.save(image, outputFileName, RasterImageFormat.JPEG, 0);
System.out.println("Command run and image saved to " + outputFileName);
assertTrue(new File(outputFileName).exists());
}
FourierTransformInformation Members
Leadtools.ImageProcessing.Core Namespace
DiscreteFourierTransformCommand Class
FastFourierTransformCommandFlags Enumeration
Leadtools.ImageProcessing.Effects.AverageCommand
Leadtools.ImageProcessing.Effects.AddNoiseCommand
Leadtools.ImageProcessing.Color.IntensityDetectCommand
Leadtools.ImageProcessing.Effects.SpatialFilterCommand
Leadtools.ImageProcessing.Effects.BinaryFilterCommand
Leadtools.ImageProcessing.Color.ChangeHueSaturationIntensityCommand
Leadtools.ImageProcessing.Color.ColorThresholdCommand
Leadtools.ImageProcessing.Effects.DirectionEdgeStatisticalCommand
FastFourierTransformCommand Class
FourierTransformDisplayCommand 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
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document