Ocean
Ocean::FourierTransformation::NaiveImplementation Class Reference

This class provides the implementation of the Fourier transformation of the Ocean framework. More...

Static Public Member Functions

template<typename T >
static void spatialToFrequency2 (const std::complex< T > *spatial, const unsigned int width, const unsigned int height, std::complex< T > *frequency, Worker *worker=nullptr)
 Applies a forward Fourier transformation for a given 2D spatial signal. More...
 
template<typename T >
static void frequencyToSpatial2 (const std::complex< T > *frequency, const unsigned int width, const unsigned int height, std::complex< T > *spatial, Worker *worker=nullptr)
 Applies a backward Fourier transformation for a given 2D frequency signal. More...
 

Static Protected Member Functions

template<typename T >
static void spatialToFrequencyHorizontalSubset2 (const std::complex< T > *spatial, const unsigned int width, const unsigned int height, std::complex< T > *frequencyHorizontal, const unsigned int firstRow, const unsigned int numberRows)
 Applies a horizontal forward Fourier transformation for a subset of a given 2D spatial signal. More...
 
template<typename T >
static void spatialToFrequencyVerticalSubset2 (const std::complex< T > *spatial, const unsigned int width, const unsigned int height, std::complex< T > *frequencyVertical, const unsigned int firstColumn, const unsigned int numberColumns)
 Applies a vertical forward Fourier transformation for a subset of a given 2D spatial signal. More...
 
template<typename T >
static void frequencyToSpatialHorizontalSubset2 (const std::complex< T > *frequency, const unsigned int width, const unsigned int height, std::complex< T > *spatialHorizontal, const unsigned int firstRow, const unsigned int numberRows)
 Applies a horizontal backward Fourier transformation for subset of a given 2D frequency signal. More...
 
template<typename T >
static void frequencyToSpatialVerticalSubset2 (const std::complex< T > *frequency, const unsigned int width, const unsigned int height, std::complex< T > *spatialVertical, const unsigned int firstColumn, const unsigned int numberColumns)
 Applies a vertical backward Fourier transformation for a subset of a given 2D frequency signal. More...
 

Detailed Description

This class provides the implementation of the Fourier transformation of the Ocean framework.

Member Function Documentation

◆ frequencyToSpatial2()

template<typename T >
void Ocean::FourierTransformation::NaiveImplementation::frequencyToSpatial2 ( const std::complex< T > *  frequency,
const unsigned int  width,
const unsigned int  height,
std::complex< T > *  spatial,
Worker worker = nullptr 
)
inlinestatic

Applies a backward Fourier transformation for a given 2D frequency signal.

The spatial signal may be composed of several channels (element-wise interleaved).
However only one joined block of frequencies will be transformed to one channel at once.

Parameters
frequency2D frequency signal that will be transformed
widthThe width of the 2D signal in elements
heightheight of the 2D signal in elements
spatialResulting spatial frequency for the given signal, make sure that the provided buffer is large enough
workerOptional worker object to distribute the computation
Template Parameters
TData type of the spatial and frequency signals

◆ frequencyToSpatialHorizontalSubset2()

template<typename T >
void Ocean::FourierTransformation::NaiveImplementation::frequencyToSpatialHorizontalSubset2 ( const std::complex< T > *  frequency,
const unsigned int  width,
const unsigned int  height,
std::complex< T > *  spatialHorizontal,
const unsigned int  firstRow,
const unsigned int  numberRows 
)
staticprotected

Applies a horizontal backward Fourier transformation for subset of a given 2D frequency signal.

Parameters
frequency2D frequency signal that will be transformed
widthThe width of the 2D signal in elements
heightheight of the 2D signal in elements
spatialHorizontalResulting spatial frequency for the given signal, make sure that the provided buffer is large enough
firstRowFirst row to be handled
numberRowsNumber of rows to be handled

◆ frequencyToSpatialVerticalSubset2()

template<typename T >
void Ocean::FourierTransformation::NaiveImplementation::frequencyToSpatialVerticalSubset2 ( const std::complex< T > *  frequency,
const unsigned int  width,
const unsigned int  height,
std::complex< T > *  spatialVertical,
const unsigned int  firstColumn,
const unsigned int  numberColumns 
)
staticprotected

Applies a vertical backward Fourier transformation for a subset of a given 2D frequency signal.

Parameters
frequency2D frequency signal that will be transformed
widthThe width of the 2D signal in elements
heightheight of the 2D signal in elements
spatialVerticalResulting vertical spatial frequency for the given signal, make sure that the provided buffer is large enough
firstColumnFirst column to be handled
numberColumnsNumber of columns to be handled

◆ spatialToFrequency2()

template<typename T >
void Ocean::FourierTransformation::NaiveImplementation::spatialToFrequency2 ( const std::complex< T > *  spatial,
const unsigned int  width,
const unsigned int  height,
std::complex< T > *  frequency,
Worker worker = nullptr 
)
inlinestatic

Applies a forward Fourier transformation for a given 2D spatial signal.

The spatial signal may be composed of several channels (element-wise interleaved).
However only one channel will be transformed to one joined block of frequencies at once.

Parameters
spatial2D spatial signal that will be transformed
widthThe width of the 2D signal in elements
heightheight of the 2D signal in elements
frequencyResulting frequency analysis for the given signal, make sure that the provided buffer is large enough
workerOptional worker object to distribute the computation
Template Parameters
TData type of the spatial and frequency signals

◆ spatialToFrequencyHorizontalSubset2()

template<typename T >
void Ocean::FourierTransformation::NaiveImplementation::spatialToFrequencyHorizontalSubset2 ( const std::complex< T > *  spatial,
const unsigned int  width,
const unsigned int  height,
std::complex< T > *  frequencyHorizontal,
const unsigned int  firstRow,
const unsigned int  numberRows 
)
staticprotected

Applies a horizontal forward Fourier transformation for a subset of a given 2D spatial signal.

Parameters
spatial2D spatial signal that will be transformed
widthThe width of the 2D signal in elements
heightheight of the 2D signal in elements
frequencyHorizontalResulting horizontal frequency analysis for the given signal, make sure that the provided buffer is large enough
firstRowFirst row to be handled
numberRowsNumber of rows to be handled

◆ spatialToFrequencyVerticalSubset2()

template<typename T >
void Ocean::FourierTransformation::NaiveImplementation::spatialToFrequencyVerticalSubset2 ( const std::complex< T > *  spatial,
const unsigned int  width,
const unsigned int  height,
std::complex< T > *  frequencyVertical,
const unsigned int  firstColumn,
const unsigned int  numberColumns 
)
staticprotected

Applies a vertical forward Fourier transformation for a subset of a given 2D spatial signal.

Parameters
spatial2D spatial signal that will be transformed
widthThe width of the 2D signal in elements
heightheight of the 2D signal in elements
frequencyVerticalResulting vertical frequency analysis for the given signal, make sure that the provided buffer is large enough
firstColumnFirst column to be handled
numberColumnsNumber of columns to be handled

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