Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Reference
    • Extreme
    • Extreme.Collections
    • Extreme.Data
    • Extreme.Data.Json
    • Extreme.Data.Matlab
    • Extreme.Data.R
    • Extreme.Data.Stata
    • Extreme.Data.Text
    • Extreme.DataAnalysis
    • Extreme.DataAnalysis.Linq
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.Distributed.Cuda
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.FSharp
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.Generic.LinearAlgebra
    • Extreme.Mathematics.Generic.LinearAlgebra.Implementation
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers
    • Extreme.Mathematics.Generic.SignalProcessing
    • Extreme.Mathematics.Implementation
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Complex
    • Extreme.Mathematics.LinearAlgebra.Complex.Decompositions
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IO
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.LinearAlgebra.Providers
    • Extreme.Mathematics.LinearAlgebra.Sparse
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.Genetic
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Numerics.FSharp
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.IO
    • Extreme.Statistics.Linq
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Random
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.Mathematics.SignalProcessing
    • ComplexConjugateSignalMatrix Class
    • ComplexConjugateSignalMatrix(T) Class
    • ComplexConjugateSignalVector Class
    • ComplexConjugateSignalVector(T) Class
    • Fft Class
    • Fft(T) Class
    • Fft2D Class
    • Fft2D(T) Class
    • FftBase Class
    • FftBase(T) Class
    • FftDomain Enumeration
    • FftProvider Class
    • FftProvider(T) Class
    • Filter Class
    • ManagedFft Class
    • ManagedFft2D Class
    • ManagedFft2DOfSingle Class
    • ManagedFftOfSingle Class
    • ManagedFftProvider Class
    • ManagedFftProviderOfSingle Class
    • Padding Enumeration
    • RealFftFormat Enumeration
    • SingleComplexConjugateSignalMatrix Class
    • SingleComplexConjugateSignalVector Class
    • SingleFft Class
    • SingleFft2D Class
    • SingleFftBase Class
    • SingleFftProvider Class
    • SingleManagedFft Class
    • SingleManagedFft2D Class
    • SingleManagedFftProvider Class
    • Smoothing Class
    • WindowFunction Class
    • WindowFunctions Class
    • WindowSampling Enumeration
  • Fft2D(T) Class
    • Fft2D(T) Constructor
    • Fft2D(T) Properties
    • Methods
Fft2DT ClassExtreme Optimization Numerical Libraries for .NET Professional
Represents a discrete 2-dimensional Fourier Transform implementation.
Inheritance Hierarchy

SystemObject
  Extreme.Mathematics.SignalProcessingFftBaseT
    Extreme.Mathematics.SignalProcessingFft2DT
      Extreme.Mathematics.SignalProcessingManagedFft2D
      Extreme.Mathematics.SignalProcessingManagedFft2DOfSingle

Namespace: Extreme.Mathematics.SignalProcessing
Assembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16312.0)
Syntax

C#
VB
C++
F#
Copy
public abstract class Fft2D<T> : FftBase<T>
Public MustInherit Class Fft2D(Of T)
	Inherits FftBase(Of T)
generic<typename T>
public ref class Fft2D abstract : public FftBase<T>
[<AbstractClassAttribute>]
type Fft2D<'T> =  
    class
        inherit FftBase<'T>
    end

Type Parameters

T

The Fft2DT type exposes the following members.

Constructors

  NameDescription
Protected methodFft2DT
Constructs a new FFT transform implementation.
Top
Properties

  NameDescription
Public propertyBackwardScaleFactor
Gets or sets the scale factor used in forward transforms.
(Inherited from FftBaseT.)
Public propertyCommitted
Gets whether the FFT implementation has committed to its current property values.
(Inherited from FftBaseT.)
Public propertyDimension
Gets or sets the dimension of the FFT.
(Inherited from FftBaseT.)
Public propertyDomain
Gets or sets the domain of the FFT.
(Inherited from FftBaseT.)
Public propertyForwardScaleFactor
Gets or sets the scale factor used in forward transforms.
(Inherited from FftBaseT.)
Public propertyInPlace
Gets or sets whether the transform should be performed in place.
(Inherited from FftBaseT.)
Top
Methods

  NameDescription
Public methodBackwardTransform(MatrixComplexT)
Computes the discrete Fourier transform of a complex signal and returns the result..
Public methodBackwardTransform(ComplexConjugateSignalMatrixT)
Computes the discrete Fourier transform of a real signal and returns the result.
Public methodBackwardTransform(Array2DComplexT, Array2DComplexT)
Computes the discrete Fourier transform of a complex signal.
Public methodBackwardTransform(Array2DComplexT, Array2DT)
Computes the discrete Fourier transform of a real signal.
Public methodBackwardTransform(DenseMatrixComplexT, DenseMatrixComplexT)
Computes the discrete Fourier transform of a complex signal.
Public methodBackwardTransform(MatrixComplexT, MatrixComplexT)
Computes the discrete Fourier transform of a complex signal.
Public methodBackwardTransform(MatrixComplexT, MatrixT)
Computes the discrete Fourier transform of a real signal.
Public methodBackwardTransform(ComplexConjugateSignalMatrixT, DenseMatrixT)
Computes the discrete Fourier transform of a real signal.
Public methodBackwardTransform(MatrixComplexT, MatrixT, RealFftFormat)
Computes the inverse discrete Fourier transform of a real signal.
Public methodBackwardTransformInPlace(Array2DComplexT)
Computes the inverse discrete Fourier transform of a complex signal in place.
Public methodBackwardTransformInPlace(DenseMatrixComplexT)
Computes the inverse discrete Fourier transform of a complex signal in place.
Public methodBackwardTransformInPlace(MatrixComplexT)
Computes the inverse discrete Fourier transform of a complex signal in place.
Protected methodCommit
Commits the implementation.
(Inherited from FftBaseT.)
Public methodStatic memberCreateComplex
Creates a Fast Fourier Transformer for two-dimensional complex data.
Public methodStatic memberCreateReal
Creates a Fast Fourier Transformer for two-dimensional real data.
Public methodDispose
Implements the IDisposable interface.
(Inherited from FftBaseT.)
Protected methodDispose(Boolean)
Implements the Dispose pattern.
(Inherited from FftBaseT.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodForwardTransform(MatrixComplexT)
Computes the discrete Fourier transform of a complex signal and returns the result.
Public methodForwardTransform(MatrixT)
Computes the discrete Fourier transform of a real signal and returns the result.
Public methodForwardTransform(Array2DComplexT, Array2DComplexT)
Computes the discrete Fourier transform of a complex signal.
Public methodForwardTransform(Array2DT, Array2DComplexT)
Computes the discrete Fourier transform of a real signal.
Public methodForwardTransform(DenseMatrixComplexT, DenseMatrixComplexT)
Computes the discrete Fourier transform of a complex signal.
Public methodForwardTransform(MatrixComplexT, MatrixComplexT)
Computes the discrete Fourier transform of a complex signal.
Public methodForwardTransform(DenseMatrixT, ComplexConjugateSignalMatrixT)
Computes the discrete Fourier transform of a real signal.
Public methodForwardTransform(MatrixT, MatrixComplexT)
Computes the discrete Fourier transform of a real signal.
Public methodForwardTransform(MatrixT, MatrixComplexT, RealFftFormat)
Computes the discrete Fourier transform of a real signal.
Public methodForwardTransformInPlace(Array2DComplexT)
Computes the discrete Fourier transform of a complex signal in place.
Public methodForwardTransformInPlace(DenseMatrixComplexT)
Computes the discrete Fourier transform of a complex signal in place.
Public methodForwardTransformInPlace(MatrixComplexT)
Computes the discrete Fourier transform of a complex signal in place.
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetLength
Returns the length of the transform for the specified dimension.
(Inherited from FftBaseT.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks

Use the Fft2DT class to perform one or more discrete Fourier Transforms of a specific size. An FFT implementation must be created for each combination of size of FFT and domain. The FftDomain property is an FftDomain value and can be real or complex. The length in each dimension is an integer greater than 0. It can be accessed through the GetLength(Int32) method.

Some implementations use unmanaged resources. To ensure that all resources are released properly, you should call the Dispose method when you are done with the object.

This class is abstract and cannot be instantiated. Instead, use one of the methods of an FftProviderT to construct an Fft2DT object from that provider.

Version Information

Numerical Libraries

Supported in: 6.0
See Also

Reference

Extreme.Mathematics.SignalProcessing Namespace

Copyright (c) 2004-2016 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2018, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.