[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

details FFTWComplex< Real > Class Template Reference VIGRA

Wrapper class for the FFTW complex types 'fftw_complex'. More...

#include <vigra/fftw3.hxx>

Public Types

typedef FFTWReal2Complex< Real >
::type 
complex_type
 
typedef value_type const * const_iterator
 
typedef value_type const & const_reference
 
typedef value_typeiterator
 
typedef value_type NormType
 
typedef value_typereference
 
typedef value_type SquaredNormType
 
typedef Real value_type
 

Public Member Functions

 FFTWComplex (value_type const &re=0.0, value_type const &im=0.0)
 
 FFTWComplex (FFTWComplex const &o)
 
template<class U >
 FFTWComplex (FFTWComplex< U > const &o)
 
 FFTWComplex (fftw_complex const &o)
 
 FFTWComplex (fftwf_complex const &o)
 
 FFTWComplex (fftwl_complex const &o)
 
template<class T >
 FFTWComplex (std::complex< T > const &o)
 
template<class T >
 FFTWComplex (TinyVector< T, 2 > const &o)
 
NormType magnitude () const
 
FFTWComplex operator- () const
 
FFTWComplexoperator= (FFTWComplex const &o)
 
template<class U >
FFTWComplexoperator= (FFTWComplex< U > const &o)
 
FFTWComplexoperator= (fftw_complex const &o)
 
FFTWComplexoperator= (fftwf_complex const &o)
 
FFTWComplexoperator= (fftwl_complex const &o)
 
FFTWComplexoperator= (double o)
 
FFTWComplexoperator= (float o)
 
FFTWComplexoperator= (long double o)
 
template<class T >
FFTWComplexoperator= (TinyVector< T, 2 > const &o)
 
template<class T >
FFTWComplexoperator= (std::complex< T > const &o)
 
reference operator[] (int i)
 
const_reference operator[] (int i) const
 
value_type phase () const
 
int size () const
 
SquaredNormType squaredMagnitude () const
 

Detailed Description

template<class Real = double>
class vigra::FFTWComplex< Real >

Wrapper class for the FFTW complex types 'fftw_complex'.

This class encapsulates the low-level complex number types provided by the FFTW Fast Fourier Transform library (i.e. 'fftw_complex', 'fftwf_complex', 'fftwl_complex'). In particular, it provides constructors, member functions and arithmetic operators that make FFTW complex numbers compatible with std::complex. In addition, the class defines transformations to polar coordinates and accessors.

FFTWComplex implements the concepts AlgebraicField and DivisionAlgebra. The standard image types FFTWRealImage and FFTWComplexImage are defined.

See also:

#include <vigra/fftw3.hxx> (for FFTW 3) or
#include <vigra/fftw.hxx> (for deprecated FFTW 2)
Namespace: vigra

Member Typedef Documentation

typedef FFTWReal2Complex<Real>::type complex_type

The wrapped complex type

typedef Real value_type

The complex' component type, as defined in 'fftw3.h'

reference type (result of operator[])

typedef value_type const& const_reference

const reference type (result of operator[] const)

typedef value_type* iterator

iterator type (result of begin() )

typedef value_type const* const_iterator

const iterator type (result of begin() const)

The norm type (result of magnitude())

The squared norm type (result of squaredMagnitde())

Constructor & Destructor Documentation

FFTWComplex ( value_type const &  re = 0.0,
value_type const &  im = 0.0 
)

Construct from real and imaginary part. Default: 0.

FFTWComplex ( FFTWComplex< Real > const &  o)

Copy constructor.

FFTWComplex ( FFTWComplex< U > const &  o)

Copy constructor.

FFTWComplex ( fftw_complex const &  o)

Construct from plain fftw_complex.

FFTWComplex ( fftwf_complex const &  o)

Construct from plain fftwf_complex.

FFTWComplex ( fftwl_complex const &  o)

Construct from plain fftwl_complex.

FFTWComplex ( std::complex< T > const &  o)

Construct from std::complex.

FFTWComplex ( TinyVector< T, 2 > const &  o)

Construct from TinyVector.

Member Function Documentation

FFTWComplex& operator= ( FFTWComplex< Real > const &  o)

Assignment.

FFTWComplex& operator= ( FFTWComplex< U > const &  o)

Assignment.

FFTWComplex& operator= ( fftw_complex const &  o)

Assignment.

FFTWComplex& operator= ( fftwf_complex const &  o)

Assignment.

FFTWComplex& operator= ( fftwl_complex const &  o)

Assignment.

FFTWComplex& operator= ( double  o)

Assignment.

FFTWComplex& operator= ( float  o)

Assignment.

FFTWComplex& operator= ( long double  o)

Assignment.

FFTWComplex& operator= ( TinyVector< T, 2 > const &  o)

Assignment.

FFTWComplex& operator= ( std::complex< T > const &  o)

Assignment.

FFTWComplex operator- ( ) const

Unary negation.

SquaredNormType squaredMagnitude ( ) const

Squared magnitude x*conj(x)

NormType magnitude ( ) const

Magnitude (length of radius vector).

value_type phase ( ) const

Phase angle.

reference operator[] ( int  i)

Access components as if number were a vector.

const_reference operator[] ( int  i) const

Read components as if number were a vector.

int size ( ) const

Length of complex number (always 2).


The documentation for this class was generated from the following file:

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de)
Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany

html generated using doxygen and Python
vigra 1.11.1 (Fri May 19 2017)