STIRA  0.1
Public Member Functions | List of all members
stira::imagedata::CWTPyramid Class Reference

Special child data class to contain complex-valued lowpass levels for a subsampled complex wavelet transform In essence a container for objects of the class PyramidLevel that contain the actual bands. More...

#include <CWTPyramid.h>

Inheritance diagram for stira::imagedata::CWTPyramid:
stira::imagedata::Pyramid< std::complex< double > >

Public Member Functions

 CWTPyramid (ArrayGrid< double > *pSourceBand, int myNrScales)
 constructor More...
 
virtual ~CWTPyramid ()
 destructor
 
ArrayGrid< std::complex< double > > * GetLowPassResidual1 ()
 Gets 1st complex-valued lowpass image.
 
void SetLowPassResidual1 (ArrayGrid< std::complex< double > > *pBand)
 Sets 1st complex-valued lowpass image. More...
 
ArrayGrid< std::complex< double > > * GetLowPassResidual2 ()
 Gets 2nd complex-valued lowpass image.
 
void SetLowPassResidual2 (ArrayGrid< std::complex< double > > *pBand)
 Sets 2nd complex-valued lowpass image. More...
 
- Public Member Functions inherited from stira::imagedata::Pyramid< std::complex< double > >
 Pyramid (ArrayGrid< double > *pSourceBand, int myNrScales, int myNrOrientations, bool isSubsampled, bool needsResidualLevels, bool isFinestScaleSubsampled=false)
 Constructor. Creates an empty data structure to which the bands (allocated elsewhere) can be added. More...
 
bool CreateBands (int sourceWidth, int sourceHeight, bool isSubsampled=false, bool isFinestScaleSubsampled=false)
 creates bands and allocates the necessary memory for the bands More...
 
 ~Pyramid ()
 Destructor.
 
int GetNumberOfScales ()
 Gets the number of scales in this pyramid This is the number of recursive scales in this pyramid and does NOT count the residual level if it is present!!
 
int GetNumberOfOrientations ()
 Gets the number of orientations in this pyramid.
 
int GetSourceDataWidth ()
 Gets the width of the underlying source data grid.
 
int GetSourceDataHeight ()
 Gets the height of the underlying source data grid.
 
double GetScaleFactorResidualLevel ()
 Gets the scale factor for the residual level Takes into account scaling of the energy content from level to level due to normalization of the coefficients.
 
void SetScaleFactorResidualLevel (double factor)
 Sets the scale factor for the residual level Takes into account scaling of the energy content from level to level due to normalization of the coefficients. More...
 
double GetScaleFactorResidualToRecursiveLevel ()
 Gets the scale factor between the residual and the first recursive level Takes into account scaling of the energy content from level to level due to normalization of the coefficients.
 
void SetScaleFactorResidualToRecursiveLevel (double factor)
 Sets the scale factor between the residual and the first recursive level Takes into account scaling of the energy content from level to level due to normalization of the coefficients. More...
 
double GetScaleFactorRecursiveLevel ()
 Gets the scale factor between two adjacent recursive levels Takes into account scaling of the energy content from level to level due to normalization of the coefficients.
 
void SetScaleFactorRecursiveLevel (double factor)
 Gets the scale factor between two adjacent recursive levels Takes into account scaling of the energy content from level to level due to normalization of the coefficients. More...
 
PyramidLevel< std::complex< double > > * GetRecursiveScale (int scale)
 Gets a list of oriented subbands belonging to a recursive scale of the pyramid. More...
 
bool HasResidualScale ()
 checks if the pyramid has a residual scale
 
int GetFinestScaleNumber ()
 gets number of finest scale Is 0 for standard decomposition; is -1 when residual scale is available like with complete steerable pyramid
 
PyramidLevel< std::complex< double > > * GetResidualScale ()
 Gets a list of oriented subbands belonging to the finest residual scale of the pyramid.
 
ArrayGrid< double > * GetLowpassResidual ()
 Gets the lowpass residual after decomposition.
 
void SetLowpassResidual (ArrayGrid< double > *pGrid)
 sets the current lowpass residual by pGrid If no lowpass residual was present, the input grid is set; if one was present, it is deleted and replaced More...
 
Pyramid< std::complex< double > > * Clone ()
 writes all bands in all levels to PGM's More...
 
void CopyValuesFrom (Pyramid< std::complex< double > > *pOtherPyramid)
 Copies the values in the bands of "pOtherPyramid" to the bands in this pyramid Pyramids must have equal number of scales and orientations and sizes per band. No new objects or memory is allocated!!! More...
 
std::complex< double > GetAverageConeRatioSubSampled (int x, int y, int orientationNr, int coarsestScale, int finestScale)
 computes the so-called Average Cone Ratio of pyramid coefficients in case the pyramid is subsampled More...
 
std::complex< double > GetAverageConeRatioRedundant (int x, int y, int orientationNr, int coarsestScale, int finestScale)
 computes the so-called Average Cone Ratio of pyramid coefficients in case the pyramid is redundant (ie, not subsampled) More...
 
bool IsSubsampled ()
 gets flag whether coarser scales are subsampled true if decomposition is subsampled to coarser levels; false if representation is not subsampled
 
bool IsFinestScaleSubsampled ()
 

Additional Inherited Members

- Public Types inherited from stira::imagedata::Pyramid< std::complex< double > >
enum  PyramidSubsamplingArgument
 
enum  PyramidResidualLevelsArgument
 
- Protected Member Functions inherited from stira::imagedata::Pyramid< std::complex< double > >
ArrayGrid< std::complex< double > > * DownSampleGrid (ArrayGrid< std::complex< double > > *pBandIn)
 downsamples a given band The caller gets a newly created band, and is responsible for deleting it after usage More...
 
ArrayGrid< std::complex< double > > * UpSampleGrid (ArrayGrid< std::complex< double > > *pBandIn, int upSampledWidth, int upSampledHeight)
 Upsamples a band The caller gets a newly created band, and is responsible for deleting it after usage. Because of the ambiguity (both width 2n-1 and 2n were downsampled to new width n), the upsampled width and height need to be specified. More...
 
- Protected Attributes inherited from stira::imagedata::Pyramid< std::complex< double > >
std::vector< PyramidLevel< std::complex< double > > * > mvpRecursivePyramidLevels
 oriented bandpass bands for all recursive scales
 
PyramidLevel< std::complex< double > > * mpResidualPyramidLevels
 oriented bandpass bands for the residual highpass scale
 
ArrayGrid< double > * mpLowPassResidual
 Band with final lowpass residual of the pyramid.
 
ArrayGrid< double > * mpSourceDataGrid
 pointer to the grid with the source data
 
bool mIsSubsampled
 
bool mIsFinestScaleSubsampled
 
int mNrScales
 number of (recursive) scales in this pyramid; doesn't count the residual level if it is present!!
 
int mNrOrientations
 number of orientations in this pyramid
 
double mScaleFactorResidualLevel
 scale factor normal noise variance in spatial domain and in recursive level
 
double mScaleFactorResidualToRecursiveLevel
 scale factor coefficients between residual and first recursive level
 
double mScaleFactorRecursiveLevel
 scale factor coefficients between two successive recursive levels
 

Detailed Description

Special child data class to contain complex-valued lowpass levels for a subsampled complex wavelet transform In essence a container for objects of the class PyramidLevel that contain the actual bands.

Constructor & Destructor Documentation

stira::imagedata::CWTPyramid::CWTPyramid ( ArrayGrid< double > *  pSourceBand,
int  myNrScales 
)

constructor

Parameters
pSourceBandgrid containing the source data to be decomposed
myNrScalesnumber of scales in the decomposition

Member Function Documentation

void stira::imagedata::CWTPyramid::SetLowPassResidual1 ( ArrayGrid< std::complex< double > > *  pBand)

Sets 1st complex-valued lowpass image.

Parameters
pBand1st lowpass image to set
void stira::imagedata::CWTPyramid::SetLowPassResidual2 ( ArrayGrid< std::complex< double > > *  pBand)

Sets 2nd complex-valued lowpass image.

Parameters
pBand2nd lowpass image to set

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