STIRA  0.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
stira::wavelet::Wavelet Class Referenceabstract

parent class to compute wavelet decomposition / reconstruction For the moment just a fast Haar wavelet is available. Fast in the sense that the downsampling and upsampling are directly integrated in the computations and that no unnecessary coefficients are computed that are removed by the subsampling More...

#include <Wavelet.h>

Inheritance diagram for stira::wavelet::Wavelet:
stira::wavelet::CriticallySubsampledTransform stira::wavelet::NonSubsampledTransform stira::wavelet::SubsampledTransform

Public Member Functions

 Wavelet ()
 constructor
 
virtual ~Wavelet ()
 destructor
 
virtual bool Decompose (ArrayGrid< double > *pSourceGrid, int nrScales)=0
 decomposition More...
 
Pyramid< double > * GetPyramid ()
 Gets the pyramid with all the subbands.
 
virtual bool Reconstruct (double threshold=0.0)=0
 reconstructs the decomposed image More...
 
ArrayGrid< double > * GetCopyOfReconstructedGrid ()
 gets a copy of the grid after wavelket reconstruction Caller gets responsability to delete it after usage
 
int GetNumberOfOrientations ()
 gets the number of orientations
 
int GetNumberOfScales ()
 gets the number of scales
 

Protected Member Functions

void Initialize (ArrayGrid< double > *pSourceGrid, int nrScales, int nrOrientations=3, bool createBands=false, bool isSubsampled=true, bool isLowestScaleSubsampled=true)
 Initializes data structures and variables for decomposition. More...
 

Protected Attributes

int mNrOrientations
 Number of orientations; default 3 with classical wavelets (LH, HL and HH)
 
int mNrScales
 Number of scales.
 
Pyramid< double > * mpPyramid
 data structure for decomposed bands with wavelet coefficients
 
ArrayGrid< double > * mpDecomposeReconstructGrid
 grid after deompose/reconstruct
 
int mCurrentScale
 number of the scale being computed
 
WaveletFilterSet mSet
 the wavelet filter taps
 
ArrayGrid< double > * mpSourceGrid
 pointer to source data before decomposition
 

Detailed Description

parent class to compute wavelet decomposition / reconstruction For the moment just a fast Haar wavelet is available. Fast in the sense that the downsampling and upsampling are directly integrated in the computations and that no unnecessary coefficients are computed that are removed by the subsampling

Member Function Documentation

virtual bool stira::wavelet::Wavelet::Decompose ( ArrayGrid< double > *  pSourceGrid,
int  nrScales 
)
pure virtual

decomposition

Parameters
pSourceGridgrid to be deomposed
nrScalesnr of scales in the decomposition
Returns
true if all went well

Implemented in stira::wavelet::NonSubsampledTransform, stira::wavelet::CriticallySubsampledTransform, and stira::wavelet::SubsampledTransform.

void stira::wavelet::Wavelet::Initialize ( ArrayGrid< double > *  pSourceGrid,
int  nrScales,
int  nrOrientations = 3,
bool  createBands = false,
bool  isSubsampled = true,
bool  isLowestScaleSubsampled = true 
)
protected

Initializes data structures and variables for decomposition.

Parameters
pSourceGridinput grid to be decomposed
nrScalesthe number of scales
nrOrientationsthe number of orientations
createBandsflag whether we need to allocate the bands upon initialization
isSubsampledflag whether the deomposition is subsampled
isLowestScaleSubsampledflag whether the finest deomposed scale is subsampled (only used if isSubsampled is true)

References stira::imagedata::Pyramid< T >::CreateBands().

Referenced by stira::wavelet::CriticallySubsampledTransform::Decompose(), and stira::wavelet::NonSubsampledTransform::Decompose().

virtual bool stira::wavelet::Wavelet::Reconstruct ( double  threshold = 0.0)
pure virtual

reconstructs the decomposed image

Parameters
thresholdhard threshold for bandpass images, just for demo purposes

Implemented in stira::wavelet::NonSubsampledTransform, stira::wavelet::CriticallySubsampledTransform, and stira::wavelet::SubsampledTransform.


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