RealFourierTransformation2D Type

Class to assist in executing a 2D Fourier transform on data originating from a matrix of real values.

Constructors

Constructor Description

RealFourierTransformation2D(sourceMatrix, allowOverwriting)

Full Usage: RealFourierTransformation2D(sourceMatrix, allowOverwriting)

Parameters:
    sourceMatrix : IMatrix<float> - The source matrix. This member is mandatory. Before you call RealFourierTransformation2D.Execute, you can set the other properties of this class as you like.
    allowOverwriting : bool - If true, the provided matrix is allowed to be modified by this instance. If false, a local copy of the provided matrix will be created.

Initializes a new instance of the RealFourierTransformation2D class.

sourceMatrix : IMatrix<float>

The source matrix. This member is mandatory. Before you call RealFourierTransformation2D.Execute, you can set the other properties of this class as you like.

allowOverwriting : bool

If true, the provided matrix is allowed to be modified by this instance. If false, a local copy of the provided matrix will be created.

ArgumentNullException SourceMatrix must not be null

RealFourierTransformation2D(sourceMatrix)

Full Usage: RealFourierTransformation2D(sourceMatrix)

Parameters:

Initializes a new instance of the RealFourierTransformation2D class.

sourceMatrix : IROMatrix<float>

The source matrix. This member is mandatory. Before you call RealFourierTransformation2D.Execute, you can set the other properties of this class as you like.

ArgumentNullException SourceMatrix must not be null

Instance members

Instance member Description

this.ColumnSpacing

Full Usage: this.ColumnSpacing

Custom spacing of the original input values in column direction. After the Fourier transformation, this value is used to calculate the column frequencies.

this.DataPretreatment

Full Usage: this.DataPretreatment

Returns: Action<IMatrix<float>>

Registering point for data pretreatment actions. All actions that are registered here will be executed immediately before the Fourier transformation. The provided matrix is the matrix of the values to transform.

Returns: Action<IMatrix<float>>

this.Execute

Full Usage: this.Execute

Executes the Fourier transformation. First, the dimensions of the matrix are checked. Then the original data is pretreated by calling all Action that are registered in RealFourierTransformation2D.DataPretreatment. Finally, the Fourier transformation is executed.

this.GetColumnFrequencies

Full Usage: this.GetColumnFrequencies

Parameters:
    numberOfResultColumnFrequencies : int - The number of resulting column frequencies. Use the value RealFourierTransformation2D.NumberOfColumns to get all frequencies, or a value less than that to get only a part of the frequencies.

Returns: IROVector<float> Vector that accomodates the column frequencies.

Gets the column frequencies.

numberOfResultColumnFrequencies : int

The number of resulting column frequencies. Use the value RealFourierTransformation2D.NumberOfColumns to get all frequencies, or a value less than that to get only a part of the frequencies.

Returns: IROVector<float>

Vector that accomodates the column frequencies.

ArgumentOutOfRangeException NumberOfResultRows has to be less than or equal to the existing number of rows.

this.GetColumnFrequenciesCentered

Full Usage: this.GetColumnFrequenciesCentered

Parameters:
    numberOfResultColumnFrequencies : int - The number of resulting column frequencies. Use the value RealFourierTransformation2D.NumberOfColumns to get all frequencies, or a value less than that to get only a part of the frequencies.

Returns: IROVector<float> Vector that accomodates the column frequencies.

Gets the column frequencies. Here, the column frequency of zero is located in the center of the matrix.

numberOfResultColumnFrequencies : int

The number of resulting column frequencies. Use the value RealFourierTransformation2D.NumberOfColumns to get all frequencies, or a value less than that to get only a part of the frequencies.

Returns: IROVector<float>

Vector that accomodates the column frequencies.

ArgumentOutOfRangeException NumberOfResultRows has to be less than or equal to the existing number of rows.

this.GetFourierAmplitude

Full Usage: this.GetFourierAmplitude

Returns: IMatrix<float> Resultant matrix of Fourier amplitudes.

Gets the resultant matrix of Fourier amplitudes.

Returns: IMatrix<float>

Resultant matrix of Fourier amplitudes.

this.GetFourierAmplitudeCentered

Full Usage: this.GetFourierAmplitudeCentered

Returns: IMatrix<float> Resultant matrix of Fourier amplitudes.

Gets the resultant matrix of Fourier amplitudes. Here, the value associated with a row and column frequency of zero is located in the center of the matrix.

Returns: IMatrix<float>

Resultant matrix of Fourier amplitudes.

this.GetResult

Full Usage: this.GetResult

Parameters:
    rowFraction : float - Number (0..1) that designates the fraction of output row frequencies that should be included in the result.
    columnFraction : float - Number (0..1) that designates the fraction of output column frequencies that should be included in the result.
    kind : RealFourierTransformationOutputKind - Requested type of output.
    matrix : byref<IMatrix<float>> - The matrix that accomodates the result.
    rowFrequencies : byref<IROVector<float>> - Vector that accomodates the row frequencies.
    columnFrequencies : byref<IROVector<float>> - Vector that accomodates the column frequencies.

Gets a result of the Fourier transformation.

rowFraction : float

Number (0..1) that designates the fraction of output row frequencies that should be included in the result.

columnFraction : float

Number (0..1) that designates the fraction of output column frequencies that should be included in the result.

kind : RealFourierTransformationOutputKind

Requested type of output.

matrix : byref<IMatrix<float>>

The matrix that accomodates the result.

rowFrequencies : byref<IROVector<float>>

Vector that accomodates the row frequencies.

columnFrequencies : byref<IROVector<float>>

Vector that accomodates the column frequencies.

InvalidOperationException Before getting any result, you must execute the Fourier transformation first (by calling Execute).

this.GetResult

Full Usage: this.GetResult

Parameters:
    rowFraction : float - Number (0..1) that designates the fraction of output row frequencies that should be included in the result.
    columnFraction : float - Number (0..1) that designates the fraction of output column frequencies that should be included in the result.
    resultantEval : Func<float, float, float> - A function that takes the real part and the imaginary part of one Fourier transformation point and returns the requested output value.
    matrix : byref<IMatrix<float>> - The matrix that accomodates the result.
    rowFrequencies : byref<IROVector<float>> - Vector that accomodates the row frequencies.
    columnFrequencies : byref<IROVector<float>> - Vector that accomodates the column frequencies.

Gets a result of the Fourier transformation.

rowFraction : float

Number (0..1) that designates the fraction of output row frequencies that should be included in the result.

columnFraction : float

Number (0..1) that designates the fraction of output column frequencies that should be included in the result.

resultantEval : Func<float, float, float>

A function that takes the real part and the imaginary part of one Fourier transformation point and returns the requested output value.

matrix : byref<IMatrix<float>>

The matrix that accomodates the result.

rowFrequencies : byref<IROVector<float>>

Vector that accomodates the row frequencies.

columnFrequencies : byref<IROVector<float>>

Vector that accomodates the column frequencies.

InvalidOperationException Before getting any result, you must execute the Fourier transformation first (by calling Execute).

this.GetResult

Full Usage: this.GetResult

Parameters:

Gets the result of the Fourier transformation.

matrix : IMatrix<float>

The matrix to accomodate the result. Can have the dimensions RealFourierTransformation2D.NumberOfRowsxRealFourierTransformation2D.NumberOfColumns or less, but not more.

resultantEval : Func<float, float, float>

A function that takes the real part and the imaginary part of one Fourier transformation point and returns the requested output value.

InvalidOperationException Before getting any result, you must execute the Fourier transformation first (by calling Execute).
InvalidDimensionMatrixException If the provided matrix matrix has more rows or more columns than the result can provide.

this.GetResultCentered

Full Usage: this.GetResultCentered

Parameters:
    rowFraction : float - Number (0..1) that designates the fraction of output row frequencies that should be included in the result.
    columnFraction : float - Number (0..1) that designates the fraction of output column frequencies that should be included in the result.
    kind : RealFourierTransformationOutputKind - Requested type of output.
    matrix : byref<IMatrix<float>> - The matrix that accomodates the result.
    rowFrequencies : byref<IROVector<float>> - Vector that accomodates the row frequencies.
    columnFrequencies : byref<IROVector<float>> - Vector that accomodates the column frequencies.

Gets a result of the Fourier transformation. Here, the row and column frequency of zero is located in the center of the matrix.

rowFraction : float

Number (0..1) that designates the fraction of output row frequencies that should be included in the result.

columnFraction : float

Number (0..1) that designates the fraction of output column frequencies that should be included in the result.

kind : RealFourierTransformationOutputKind

Requested type of output.

matrix : byref<IMatrix<float>>

The matrix that accomodates the result.

rowFrequencies : byref<IROVector<float>>

Vector that accomodates the row frequencies.

columnFrequencies : byref<IROVector<float>>

Vector that accomodates the column frequencies.

InvalidOperationException Before getting any result, you must execute the Fourier transformation first (by calling Execute).

this.GetResultCentered

Full Usage: this.GetResultCentered

Parameters:
    rowFraction : float - Number (0..1) that designates the fraction of output row frequencies that should be included in the result.
    columnFraction : float - Number (0..1) that designates the fraction of output column frequencies that should be included in the result.
    resultantEval : Func<float, float, float> - A function that takes the real part and the imaginary part of one Fourier transformation point and returns the requested output value.
    matrix : byref<IMatrix<float>> - The matrix that accomodates the result.
    rowFrequencies : byref<IROVector<float>> - Vector that accomodates the row frequencies.
    columnFrequencies : byref<IROVector<float>> - Vector that accomodates the column frequencies.

Gets a result of the Fourier transformation. Here, the row and column frequency of zero is located in the center of the matrix.

rowFraction : float

Number (0..1) that designates the fraction of output row frequencies that should be included in the result.

columnFraction : float

Number (0..1) that designates the fraction of output column frequencies that should be included in the result.

resultantEval : Func<float, float, float>

A function that takes the real part and the imaginary part of one Fourier transformation point and returns the requested output value.

matrix : byref<IMatrix<float>>

The matrix that accomodates the result.

rowFrequencies : byref<IROVector<float>>

Vector that accomodates the row frequencies.

columnFrequencies : byref<IROVector<float>>

Vector that accomodates the column frequencies.

InvalidOperationException Before getting any result, you must execute the Fourier transformation first (by calling Execute).

this.GetRowFrequencies

Full Usage: this.GetRowFrequencies

Parameters:
    numberOfResultRowFrequencies : int - The number of resulting rows. Use the value RealFourierTransformation2D.NumberOfRows to get all frequencies, or a value less than that to get only a fraction of frequencies.

Returns: IROVector<float> Vector that accomodates the row frequencies.

Gets the row frequencies.

numberOfResultRowFrequencies : int

The number of resulting rows. Use the value RealFourierTransformation2D.NumberOfRows to get all frequencies, or a value less than that to get only a fraction of frequencies.

Returns: IROVector<float>

Vector that accomodates the row frequencies.

ArgumentOutOfRangeException NumberOfResultRows has to be less than or equal to the existing number of rows.

this.GetRowFrequenciesCentered

Full Usage: this.GetRowFrequenciesCentered

Parameters:
    numberOfResultRowFrequencies : int - The number of resulting rows. Use the value RealFourierTransformation2D.NumberOfRows to get all frequencies, or a value less than that to get only a fraction of frequencies.

Returns: IROVector<float> Vector that accomodates the row frequencies.

Gets the row frequencies. Here, the row frequency of zero is located in the center of the matrix.

numberOfResultRowFrequencies : int

The number of resulting rows. Use the value RealFourierTransformation2D.NumberOfRows to get all frequencies, or a value less than that to get only a fraction of frequencies.

Returns: IROVector<float>

Vector that accomodates the row frequencies.

ArgumentOutOfRangeException NumberOfResultRows has to be less than or equal to the existing number of rows.

this.NumberOfColumns

Full Usage: this.NumberOfColumns

Returns: int

Returns: int

this.NumberOfRows

Full Usage: this.NumberOfRows

Returns: int

Returns: int

this.RowSpacing

Full Usage: this.RowSpacing

Custom spacing of the original input values in row direction. After the Fourier transformation, this value is used to calculate the row frequencies.

Static members

Static member Description

RealFourierTransformation2D.RemoveFirstOrderFromMatrixIgnoringInvalidElements(m)

Full Usage: RealFourierTransformation2D.RemoveFirstOrderFromMatrixIgnoringInvalidElements(m)

Parameters:
    m : IMatrix<float> - The matrix to change.

Removes the first order of a matrix by calculating the parameters a, b, c of the regression of the matrix in the form: z = a + b*x + c*y (x and y are the rows and columns of the matrix, z the matrix elements ), and then subtracting the regression function from each matrix element, thus effectively removing the first order. Here, only matrix elements that have a finite value are included in the calculation of the regression.

m : IMatrix<float>

The matrix to change.

RealFourierTransformation2D.RemoveSecondOrderFromMatrixIgnoringInvalidElements(m)

Full Usage: RealFourierTransformation2D.RemoveSecondOrderFromMatrixIgnoringInvalidElements(m)

Parameters:
    m : IMatrix<float> - The matrix to change.

Removes the second order of a matrix by calculating the parameters a, b, .. e, f of the regression of the matrix in the form: z = a + b*x + c*y + d*x*x + e*x*y + f*y*y (x and y are the rows and columns of the matrix, z the matrix elements ), and then subtracting the regression function from each matrix element, thus effectively removing the second order. Here, only matrix elements that have a finite value are included in the calculation of the regression.

m : IMatrix<float>

The matrix to change.

RealFourierTransformation2D.RemoveThirdOrderFromMatrixIgnoringInvalidElements(m)

Full Usage: RealFourierTransformation2D.RemoveThirdOrderFromMatrixIgnoringInvalidElements(m)

Parameters:
    m : IMatrix<float> - The matrix to change.

Removes the third order of a matrix by calculating the parameters a, b, .. i, j of the regression of the matrix in the form: z = a + b*x + c*y + d*x*x + e*x*y + f*y*y + g*x*x*x + h*x*x*y + i*x*y*y + j*y*y*y (x and y are the rows and columns of the matrix, z the matrix elements ), and then subtracting the regression function from each matrix element, thus effectively removing the third order. Here, only matrix elements that have a finite value are included in the calculation of the regression.

m : IMatrix<float>

The matrix to change.

RealFourierTransformation2D.RemoveZeroOrderFromMatrixIgnoringInvalidElements(m)

Full Usage: RealFourierTransformation2D.RemoveZeroOrderFromMatrixIgnoringInvalidElements(m)

Parameters:
    m : IMatrix<float> - The matrix to change.

Removes the zero-th order of a matrix by calculating the mean of the (valid) matrix elements, and then subtracting the mean from each matrix element. Here, only matrix elements that have a finite value are included in the calculation of the mean value.

m : IMatrix<float>

The matrix to change.