Class to assist in executing a 2D Fourier transform on data originating from a matrix of real values.
Constructor | Description | ||
Full Usage:
RealFourierTransformation2D(sourceMatrix, allowOverwriting)
Parameters:
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.
|
|
||
Full Usage:
RealFourierTransformation2D(sourceMatrix)
Parameters:
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.
|
|
Instance member | Description | ||||
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. |
||||
|
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. |
||||
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. |
||||
Full Usage:
this.GetColumnFrequencies
Parameters:
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.
|
||||
Full Usage:
this.GetColumnFrequenciesCentered
Parameters:
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.
|
||||
Full Usage:
this.GetFourierAmplitude
Returns: IMatrix<float>
Resultant matrix of Fourier amplitudes.
|
Gets the resultant matrix of Fourier amplitudes.
|
||||
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.
|
||||
Full Usage:
this.GetResult
Parameters:
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.
|
||||
Full Usage:
this.GetResult
Parameters:
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.
|
||||
Full Usage:
this.GetResult
Parameters:
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.
|
Gets the result of the Fourier transformation.
|
||||
Full Usage:
this.GetResultCentered
Parameters:
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.
|
||||
Full Usage:
this.GetResultCentered
Parameters:
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.
|
||||
Full Usage:
this.GetRowFrequencies
Parameters:
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.
|
||||
Full Usage:
this.GetRowFrequenciesCentered
Parameters:
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.
|
||||
Full Usage:
this.NumberOfColumns
Returns: int
|
|
||||
Full Usage:
this.NumberOfRows
Returns: int
|
|
||||
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 member | Description |
Full Usage:
RealFourierTransformation2D.RemoveFirstOrderFromMatrixIgnoringInvalidElements(m)
Parameters:
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.
|
Full Usage:
RealFourierTransformation2D.RemoveSecondOrderFromMatrixIgnoringInvalidElements(m)
Parameters:
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.
|
Full Usage:
RealFourierTransformation2D.RemoveThirdOrderFromMatrixIgnoringInvalidElements(m)
Parameters:
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.
|
Full Usage:
RealFourierTransformation2D.RemoveZeroOrderFromMatrixIgnoringInvalidElements(m)
Parameters:
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.
|