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

| FFTWComplex< Real > Class Template Reference |

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_type * | iterator
typedef value_type | NormType
typedef value_type & | reference
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
FFTWComplex & | operator= (FFTWComplex const &o)
template<class U >
FFTWComplex & | operator= (FFTWComplex< U > const &o)
FFTWComplex & | operator= (fftw_complex const &o)
FFTWComplex & | operator= (fftwf_complex const &o)
FFTWComplex & | operator= (fftwl_complex const &o)
FFTWComplex & | operator= (double o)
FFTWComplex & | operator= (float o)
FFTWComplex & | operator= (long double o)
template<class T >
FFTWComplex & | operator= (TinyVector< T, 2 > const &o)
template<class T >
FFTWComplex & | operator= (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:

- Numeric and Promote Traits of FFTWComplex
- Functions for FFTWComplex
- Accessors for FFTWComplex

#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`'

typedef value_type& reference

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)

typedef value_type NormType

The norm type (result of magnitude())

typedef value_type SquaredNormType

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:

- vigra/fftw3.hxx

© 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.10.0