VIGRA - VIGRA: FFTWComplex Class Reference

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

| FFTWComplex |

Wrapper class for the FFTW type '`fftw_complex`'. More...

`#include <vigra/fftw3.hxx>`

List of all members.

## Public Types
typedef fftw_real const * | const_iterator
typedef fftw_real const & | const_reference
typedef fftw_real * | iterator
typedef fftw_real | NormType
typedef fftw_real & | reference
typedef fftw_real | SquaredNormType
typedef fftw_real | value_type
## Public Member Functions
template<class T>
| FFTWComplex (TinyVector< T, 2 > const &o)
| FFTWComplex (fftw_complex const &o)
| FFTWComplex (FFTWComplex const &o)
| FFTWComplex (value_type const &re=0.0, value_type const &im=0.0)
NormType | magnitude () const
FFTWComplex | operator- () const
template<class T>
FFTWComplex & | operator= (TinyVector< T, 2 > const &o)
FFTWComplex & | operator= (fftw_real const &o)
FFTWComplex & | operator= (fftw_complex const &o)
FFTWComplex & | operator= (FFTWComplex const &o)
const_reference | operator[] (int i) const
reference | operator[] (int i)
value_type | phase () const
int | size () const
SquaredNormType | squaredMagnitude () const

## Detailed Description

Wrapper class for the FFTW type '`fftw_complex`'.

This class provides constructors and other member functions for the C struct '`fftw_complex`'. This struct is the basic pixel type of the FFTW Fast Fourier Transform library. It inherits the data members '`re`' and '`im`' that denote the real and imaginary part of the number. In addition it defines transformations to polar coordinates, as well as arithmetic operators 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 fftw_real const* const_iterator

const iterator type (result of begin() const)

typedef fftw_real const& const_reference

const reference type (result of operator[] const)

typedef fftw_real* iterator

iterator type (result of begin() )

typedef fftw_real NormType

The norm type (result of magnitde())

typedef fftw_real& reference

reference type (result of operator[])

typedef fftw_real SquaredNormType

The squared norm type (result of squaredMagnitde())

typedef fftw_real value_type

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

## 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 const & | o | ) |

Copy constructor.

FFTWComplex | ( | fftw_complex const & | o | ) |

Construct from plain `fftw_complex`.

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

Construct from TinyVector.

## Member Function Documentation

NormType magnitude | ( |  | ) | const

Magnitude (length of radius vector).

FFTWComplex operator- | ( |  | ) | const

Unary negation.

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

Assignment.

FFTWComplex& operator= | ( | fftw_real const & | o | ) |

Assignment.

FFTWComplex& operator= | ( | fftw_complex const & | o | ) |

Assignment.

FFTWComplex& operator= | ( | FFTWComplex const & | o | ) |

Assignment.

const_reference operator[] | ( | int | i | ) | const

Read components as if number were a vector.

reference operator[] | ( | int | i | ) |

Access components as if number were a vector.

value_type phase | ( |  | ) | const

Phase angle.

int size | ( |  | ) | const

Length of complex number (always 2).

SquaredNormType squaredMagnitude | ( |  | ) | const

Squared magnitude x*conj(x)

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.6.0 (13 Aug 2008)