Main Page   Namespace List   Compound List   File List   Namespace Members   Compound Members  

FFT Namespace Reference


Compounds

class  Support
 Type for support of FFT calculation. More...


Functions

template<typename Function> void convolve (const Function &f, const Function &g, Function *const h)
 Compute h=f*g for f,g and h real functions.

template<typename Function> void convolve (const Function &f, const Function &g, Function *const h, Support &support)
template<typename Function> void convolve (const Support::buffer_type &F, const Function &g, Function *const h, Support &support)
template<typename Function> void move_center (const Function &f, const unsigned int x, const unsigned int y, Function *const result)
template<typename Complex_data_2D_array> void x_derivative (const Complex_data_2D_array &source, Complex_data_2D_array *const result)
template<typename Complex_data_2D_array> void y_derivative (const Complex_data_2D_array &source, Complex_data_2D_array *const result)
template<typename Function, typename Complex_data_2D_array> void fill_real_part (const Function &f, Complex_data_2D_array *const array)
template<typename Function, typename Complex_data_2D_array> void fill_imaginary_part (const Function &f, Complex_data_2D_array *const array)
template<typename Function> void difference_of_gaussians (const Function &f, const float small_wave_length, const float large_wave_length, Function *const g)
 Filter f by (Gaussian_small - Gaussian_large).

template<typename Function> void difference_of_gaussians (const Function &f, const float small_wave_length, const float large_wave_length, Function *const g, Support &support)
template<typename Function> void difference_of_gaussians (const Function &f, const float center_wave_length, Function *const g)
 Filter f by a pass-band filter centered on center_wave_length.

template<typename Function> void difference_of_gaussians (const Function &f, const float center_wave_length, Function *const g, Support &support)
template<typename Function> void difference_of_gaussians (const Support::buffer_type &F, const float center_wave_length, Function *const g, Support &support)
template<typename Function> void difference_of_gaussians (const Support::buffer_type &F, const float small_wave_length, const float large_wave_length, Function *const g, Support &support)


Function Documentation

template<typename Function>
void FFT::convolve const Support::buffer_type   F,
const Function &    g,
Function *const    h,
Support   support
 

This function mixes frequency representation for f and space representation for g to provide a fast process when f is convolved several times with different g. Compute h=f*g for f,g and h real functions. Support is given, goes faster for multiple computations. f is given through its Fourier transform F in a Support::buffer_type.

template<typename Function>
void FFT::convolve const Function &    f,
const Function &    g,
Function *const    h,
Support   support
[inline]
 

Compute h=f*g for f,g and h real functions. Support is given, goes faster for multiple computations.

template<typename Function>
void FFT::convolve const Function &    f,
const Function &    g,
Function *const    h
[inline]
 

Compute h=f*g for f,g and h real functions.

template<typename Function>
void FFT::difference_of_gaussians const Support::buffer_type   F,
const float    small_wave_length,
const float    large_wave_length,
Function *const    g,
Support   support
 

This function mixes frequency representation for f and space representation for g to provide a fast process when f filtered several times. Filter f by (Gaussian_small - Gaussian_large). f is given through its Fourier transform F in a Support::buffer_type.

template<typename Function>
void FFT::difference_of_gaussians const Support::buffer_type   F,
const float    center_wave_length,
Function *const    g,
Support   support
[inline]
 

Filter f (represented by its Fourier transform) by a pass-band filter centered on center_wave_length.

template<typename Function>
void FFT::difference_of_gaussians const Function &    f,
const float    center_wave_length,
Function *const    g,
Support   support
[inline]
 

Filter f by a pass-band filter centered on center_wave_length. Support is given, goes faster for multiple computations.

template<typename Function>
void FFT::difference_of_gaussians const Function &    f,
const float    center_wave_length,
Function *const    g
[inline]
 

Filter f by a pass-band filter centered on center_wave_length.

template<typename Function>
void FFT::difference_of_gaussians const Function &    f,
const float    small_wave_length,
const float    large_wave_length,
Function *const    g,
Support   support
[inline]
 

Filter f by (Gaussian_small - Gaussian_large). Support is given, goes faster for multiple computations.

template<typename Function>
void FFT::difference_of_gaussians const Function &    f,
const float    small_wave_length,
const float    large_wave_length,
Function *const    g
[inline]
 

Filter f by (Gaussian_small - Gaussian_large).

template<typename Function, typename Complex_data_2D_array>
void FFT::fill_imaginary_part const Function &    f,
Complex_data_2D_array *const    array
 

Fill in the imaginary part of the array with function f. Real part is not changed.

template<typename Function, typename Complex_data_2D_array>
void FFT::fill_real_part const Function &    f,
Complex_data_2D_array *const    array
 

Fill in the real part of the array with function f. Imaginary part is not changed.

template<typename Function>
void FFT::move_center const Function &    f,
const unsigned int    x,
const unsigned int    y,
Function *const    result
 

Adapt the function so that the point (0,0) is at (x,y) before the funtion call.

template<typename Complex_data_2D_array>
void FFT::x_derivative const Complex_data_2D_array &    source,
Complex_data_2D_array *const    result
 

Compute the x derivative of source put it in result. More precisely, source is the FFT of a function f and result is the FFT of the x derivative of f. Can perform in-place computation: just give source = result.

template<typename Complex_data_2D_array>
void FFT::y_derivative const Complex_data_2D_array &    source,
Complex_data_2D_array *const    result
 

Compute the y derivative of source put it in result. More precisely, source is the FFT of a function f and result is the FFT of the y derivative of f. Can perform in-place computation: just give source = result.


Generated on Thu Aug 19 15:55:51 2004 by doxygen1.2.18