STIRA
0.1
|
data structure for FFT manipulations More...
#include <FFTBand.h>
Public Member Functions | |
FFTBand (ArrayGrid< double > *pGrid, bool isreal=true) | |
Constructor: build a complex band initialized by a real-valued grid. More... | |
FFTBand (ArrayGrid< std::complex< double > > *pGrid) | |
Constructor: build a complex band initialized by a complex-valued grid. More... | |
FFTBand (int width, int height, std::complex< double > initValue=std::complex< double >(0.0, 0.0)) | |
Constructor: build a complex band initialized by zeros. More... | |
FFTBand (FFTBand &otherFFTBand) | |
Copy constructor. | |
~FFTBand () | |
destructor | |
FFTBand * | Clone () |
clones the current band | |
std::complex< double > | GetValue (int x, int y) const |
Get a value from the complex band. More... | |
void | SetValue (int x, int y, std::complex< double > complexValue) |
Set a value in the complex band using a complex data type from STL. More... | |
void | SetValue (int x, int y, double realValue, double imagValue) |
Set a value in the complex band using two double representing the real and imaginary part of the complex number. More... | |
int | GetWidth () const |
Get width of data grid. | |
int | GetHeight () const |
Get height of data grid. | |
void | ApplyForwardTransform () |
Replaces the current FFTBand with a forward transformed one. | |
void | ApplyInverseTransform () |
Replaces the current FFTBand with an inverse transformed one. | |
void | PointMirrorBand () |
Mirrors the whole band around the center of the band Changes the original data structure (not creating a new one) | |
ArrayGrid< double > * | ConvertToRealGrid () |
creates a real-valued ArrayGrid with the real component of the complex values in this FFTBand | |
ArrayGrid< double > * | ConvertToImaginaryGrid () |
creates a real-valued ArrayGrid with the imaginary component of the complex values in this FFTBand | |
ArrayGrid< std::complex< double > > * | ConvertToComplexGrid () |
creates a complex-valued ArrayGrid with the complex values in this FFTBand | |
void | ExportAbsImage (std::string fileName) |
export abs of current FFTBand to a PGM file More... | |
void | SwitchQuadrants () |
switches upper left with lower right quadrant and lower left with upper right Changes the original data structure (not creating a new one) | |
void | Conjugate () |
changes all complex grid values in their complex conjugate values Changes the original data structure (not creating a new one) | |
double | GetBandMaximum (FFTDataType type) |
gets maximum value of real or imaginary components in the band More... | |
double | GetBandMinimum (FFTDataType type) |
gets minimum value of real or imaginary components in the band More... | |
void | Multiply (FFTBand *other) |
multiplies this FFTBand point by point with another FFTBand More... | |
void | Multiply (ArrayGrid< double > *grid) |
multiplies this FFTBand point by point with an ArrayGrid More... | |
void | Multiply (std::complex< double > myFactor) |
multiplies this FFTBand point by point with a real-valued factor More... | |
void | Multiply (double myFactor) |
multiplies this FFTBand point by point with a complex-valued factor More... | |
data structure for FFT manipulations
stira::fouriertools::FFTBand::FFTBand | ( | ArrayGrid< double > * | pGrid, |
bool | isreal = true |
||
) |
Constructor: build a complex band initialized by a real-valued grid.
pGrid | grid to initialize this complex band with |
isreal | flag if real-valued grid values should be used as the real components of the complex numbers (if false: use as imag components) |
References stira::imagedata::ArrayGrid< T >::GetHeight(), and stira::imagedata::ArrayGrid< T >::GetWidth().
stira::fouriertools::FFTBand::FFTBand | ( | ArrayGrid< std::complex< double > > * | pGrid | ) |
Constructor: build a complex band initialized by a complex-valued grid.
pGrid | grid to initialize this complex band with |
References stira::imagedata::ArrayGrid< T >::GetHeight(), and stira::imagedata::ArrayGrid< T >::GetWidth().
stira::fouriertools::FFTBand::FFTBand | ( | int | width, |
int | height, | ||
std::complex< double > | initValue = std::complex< double >( 0.0, 0.0 ) |
||
) |
Constructor: build a complex band initialized by zeros.
width | width of the band to construct |
height | height of the band to construct |
initValue | optional value to initialize this band with |
void stira::fouriertools::FFTBand::ExportAbsImage | ( | std::string | fileName | ) |
export abs of current FFTBand to a PGM file
fileName | name of PGM to export to |
References stira::imagedata::ArrayGrid< T >::SetValue(), and stira::imagedata::ArrayGrid< T >::SwitchQuadrants().
Referenced by stira::steerable::PyramidMaster< T >::ExtractB(), and stira::steerable::PyramidMaster< T >::ExtractB0().
double stira::fouriertools::FFTBand::GetBandMaximum | ( | FFTDataType | type | ) |
gets maximum value of real or imaginary components in the band
type | real or imaginary component |
double stira::fouriertools::FFTBand::GetBandMinimum | ( | FFTDataType | type | ) |
gets minimum value of real or imaginary components in the band
type | real or imaginary component |
complex< double > stira::fouriertools::FFTBand::GetValue | ( | int | x, |
int | y | ||
) | const |
Get a value from the complex band.
x | x coordinate of the value to get |
y | y coordinate of the value to get |
Referenced by stira::fouriertools::FFT::ApplyTransferFunction(), stira::fouriertools::FFT::ApplyTransferFunctionFFT(), stira::fouriertools::FFT::ComputePowerSpectrum(), stira::fouriertools::FFT::Convolve(), FFTBand(), Multiply(), PointMirrorBand(), stira::deconvolve::TikhonovMillerDeconvolve::Run(), stira::deconvolve::WienerDeconvolve::RunSingleband(), stira::steerable::PyramidMaster< T >::ViewTransferFunction(), stira::fouriertools::FFT::WriteFFTDataToPPM(), and stira::deconvolve::WienerDeconvolve::~WienerDeconvolve().
void stira::fouriertools::FFTBand::Multiply | ( | FFTBand * | other | ) |
multiplies this FFTBand point by point with another FFTBand
other | the other FFTBand |
References GetValue().
Referenced by stira::steerable::PyramidMaster< T >::ExtractB(), stira::steerable::PyramidMaster< T >::ExtractB0(), stira::steerable::PyramidMaster< T >::ReconstructB(), stira::steerable::PyramidMaster< T >::ReconstructB0(), and stira::steerable::PyramidMaster< T >::ReconstructL0().
void stira::fouriertools::FFTBand::Multiply | ( | ArrayGrid< double > * | grid | ) |
multiplies this FFTBand point by point with an ArrayGrid
grid | the ArrayGrid |
References stira::imagedata::ArrayGrid< T >::GetValue().
void stira::fouriertools::FFTBand::Multiply | ( | std::complex< double > | myFactor | ) |
multiplies this FFTBand point by point with a real-valued factor
myFactor | factor to multiply every value in the grid with |
void stira::fouriertools::FFTBand::Multiply | ( | double | myFactor | ) |
multiplies this FFTBand point by point with a complex-valued factor
myFactor | factor to multiply every value in the grid with |
void stira::fouriertools::FFTBand::SetValue | ( | int | x, |
int | y, | ||
std::complex< double > | complexValue | ||
) |
Set a value in the complex band using a complex data type from STL.
x | x coordinate of the value to set |
y | y coordinate of the value to set |
complexValue | the value to set |
Referenced by stira::fouriertools::FFT::ApplyTransferFunction(), stira::fouriertools::FFT::ApplyTransferFunctionFFT(), stira::fouriertools::FFT::Convolve(), stira::fouriertools::TransferFunctionGenerator::GenerateOrientedTransferFunction(), stira::fouriertools::TransferFunctionGenerator::HighFrequencyCrossMask(), stira::deconvolve::TikhonovMillerDeconvolve::Run(), stira::deconvolve::WienerDeconvolve::RunSingleband(), and stira::steerable::PyramidMaster< T >::SumFFTBands().
void stira::fouriertools::FFTBand::SetValue | ( | int | x, |
int | y, | ||
double | realValue, | ||
double | imagValue | ||
) |
Set a value in the complex band using two double representing the real and imaginary part of the complex number.
x | x coordinate of the value to set |
y | y coordinate of the value to set |
realValue | real part of the complex number to set |
imagValue | imaginary part of the complex number to set |