|
STIRA
0.1
|
child class to compute FFT based real-valued steerable pyramid decomposition/reconstruction Bibtex reference for formulae used here: Formulae used from appendix; main paper is about texture denoising article{ portilla03image, author = {Portilla, J. and Strela, V. and Wainwright, M. and Simoncelli, E.}, title = {Image denoising using scale mixtures of Gaussians in the wavelet domain}, journal = {IEEE Trans. Image Processing}, volume = {12}, number = {11}, pages = {1338–1351} year = {2003}, url = {http://citeseer.ist.psu.edu/article/portilla03image.html} } More...
#include <PyramidReal.h>
Public Member Functions | |
| PyramidReal (ArrayGrid< double > *pGridIn, int myNrScales, int myNrOrientations) | |
| constructor More... | |
| ~PyramidReal () | |
| destructor | |
| bool | Decompose () |
| decomposes the source image in an steerable pyramid | |
| bool | Reconstruct () |
| reconstructs the steerable pyramid back to an image | |
| bool | Diagnose () |
| diagnoses the current steerable pyramid | |
| bool | VisualizeReconstructedBandpass (fouriertools::FFTBand *pFftSubband, std::string bandType, int scaleNr, int orientationNr) |
| writes pFftSubband to a PGM file for diagnostics More... | |
Public Member Functions inherited from stira::steerable::PyramidMaster< double > | |
| PyramidMaster (ArrayGrid< double > *pGridIn, int myNrScales, int myNrOrientations) | |
| constructor More... | |
| virtual | ~PyramidMaster () |
| destructor More... | |
| fouriertools::FFTBand * | SumFFTBands (std::vector< fouriertools::FFTBand * > fftSubbandSet) |
| calculates the sum over a set of FFTBands creates a new FFTBand that becomes the responsability of the caller to delete More... | |
| ArrayGrid< double > * | GetCopyOfReconstructedGrid () |
| creates a copy of the grid after reconstruction This becomes the responsability of the caller to delete; the local member which contains the reconstructed grid is then deleted by the destructor of this class More... | |
| Pyramid< double > * | GetPyramid () |
| gets a pointer to the actual pyramid data | |
| void | SetPyramid (Pyramid< double > *pPyramid) |
| sets a pointer to new pyramid data if old data exists already, they are deleted first More... | |
Additional Inherited Members | |
Protected Member Functions inherited from stira::steerable::PyramidMaster< double > | |
| ArrayGrid< double > * | ExtractL0 () |
| extracts the first L0 band | |
| fouriertools::FFTBand * | ExtractB0 (common::NumberMode myMode) |
| extracts a B0 band with given orientation index More... | |
| ArrayGrid< double > * | ExtractL () |
| extracts recursive L band | |
| fouriertools::FFTBand * | ExtractB (common::NumberMode myMode) |
| extracts a B band with given orientation index More... | |
| fouriertools::FFTBand * | ReconstructL0 (std::vector< fouriertools::FFTBand * > vpFFTBandSet) |
| reconstructs the first L0 band Output is still in Fourier domain to save FFT's More... | |
| fouriertools::FFTBand * | ReconstructB0 (ArrayGrid< double > *pGridIn, common::NumberMode myMode) |
| reconstructs a B0 band with given orientation index Output is still in Fourier domain to save FFT's More... | |
| fouriertools::FFTBand * | ReconstructL (ArrayGrid< double > *pGridIn) |
| reconstructs L band Output is still in Fourier domain to save FFT's More... | |
| fouriertools::FFTBand * | ReconstructB (ArrayGrid< double > *pGridIn, common::NumberMode myMode) |
| reconstructs a B0 band with given orientation index Output is still in Fourier domain to save FFT's More... | |
| ArrayGrid< double > * | MergeAndReconstructFFTBands (std::vector< fouriertools::FFTBand * > fftSubbandSet) |
| computes sum, followed by inverse Fourier Transform More... | |
| void | ClearFFTVector (std::vector< fouriertools::FFTBand * > &set) |
| clears an STL vector with FFTBands also deletes elements in the vector More... | |
| void | SetFFTBand (fouriertools::FFTBand *pFFTBand) |
| sets current input FFTBand For computational efficiency, we compute the FFT of the input grid for a scale just once and keep this to extract the different bands from it More... | |
| fouriertools::FFTBand * | GetFFTBand () |
| gets current input FFTBand For computational efficiency, we compute the FFT of the input grid for a scale just once and keep this to extract the different bands from it | |
| void | CleanFFTBand () |
| cleans current input FFTBand Also sets its pointer to 0 | |
| bool | ViewTransferFunction (fouriertools::FFTBand *pTransferFunction, std::string token, int scale, int orientation, int maxNrOfOrientations, bool isForward) |
| Writes a transfer function to PGM for diagnostics. More... | |
Protected Attributes inherited from stira::steerable::PyramidMaster< double > | |
| Pyramid< double > * | mpPyramid |
| the pyramid bands | |
| ArrayGrid< double > * | mpSourceGrid |
| the source data grid | |
| ArrayGrid< double > * | mpReconstructedGrid |
| the data grid after reconstruction | |
| int | mNrScales |
| nr of scales in the pyramid | |
| int | mNrOrientations |
| nr of orientations (in paper called K) per scale in the pyramid | |
| int | mWidth |
| width of the source image | |
| int | mHeight |
| height of the source image | |
| bool | mIsForwardTransform |
| flag if we are computing the forward transform | |
| ArrayGrid< double > * | mpTmpHighpassGrid |
| tmp member in order to avoid recomputation of this transfer function for each oriented subband | |
| std::complex< double > | mDecompositionFactor |
| modulation factor for oriented bands (-i)^(K-1) during decomposition | |
| std::complex< double > | mReconstructionFactor |
| modulation factor for oriented bands (-i)^(K-1) during reconstruction | |
| fouriertools::FFTBand * | mpFFTBand |
| FFT of the input grid for a scale. | |
| int | mCurrentScale |
| current scale we are at (while decomposing or reconstructing) | |
| int | mCurrentOrientation |
| current orientation within current scale we are at (while decomposing or reconstructing) | |
child class to compute FFT based real-valued steerable pyramid decomposition/reconstruction Bibtex reference for formulae used here: Formulae used from appendix; main paper is about texture denoising article{ portilla03image, author = {Portilla, J. and Strela, V. and Wainwright, M. and Simoncelli, E.}, title = {Image denoising using scale mixtures of Gaussians in the wavelet domain}, journal = {IEEE Trans. Image Processing}, volume = {12}, number = {11}, pages = {1338–1351} year = {2003}, url = {http://citeseer.ist.psu.edu/article/portilla03image.html} }
| stira::steerable::PyramidReal::PyramidReal | ( | ArrayGrid< double > * | pGridIn, |
| int | myNrScales, | ||
| int | myNrOrientations | ||
| ) |
constructor
| pGridIn | source input grid data |
| myNrScales | nr of scales in which to decompose the image |
| myNrOrientations | nr of orientations in which to decompose the image |
| bool stira::steerable::PyramidReal::VisualizeReconstructedBandpass | ( | fouriertools::FFTBand * | pFftSubband, |
| std::string | bandType, | ||
| int | scaleNr, | ||
| int | orientationNr | ||
| ) |
writes pFftSubband to a PGM file for diagnostics
| pFftSubband | band to export for visualization |
| bandType | band type, to be used for rescaling and in file name |
| scaleNr | number of current scale, to be used for rescaling and in file name |
| orientationNr | number of current orientation, to be used for rescaling and in file name |
References stira::fouriertools::FFTBand::ApplyInverseTransform(), stira::fouriertools::FFTBand::Clone(), stira::fouriertools::FFTBand::ConvertToRealGrid(), stira::imagetools::ImageIO::GRADIENT_OUT, stira::imagetools::ImageIO::NORMAL_OUT, stira::fouriertools::FFTBand::SwitchQuadrants(), and stira::imagetools::ImageIO::WritePGM().
1.8.11