// Wavelet Analysis Tool //-------------------------------------------------------------------- // Implementation of // the Haar wavelet transform using lifting scheme // References: // A.Cohen, I.Daubechies, J.Feauveau Bases of compactly supported wavelets // Comm. Pure. Appl. Math. 45, 485-560, 1992 // W. Sweldens - Building your own wavelets at home //-------------------------------------------------------------------- //$Id: Haar.hh,v 0.2 2001/08/06 19:37:00 klimenko Exp $ #define BIORTHOGONAL_CC #include "Haar.hh" namespace datacondAPIwat { // constructors template Haar:: Haar(const Wavelet &w) : WaveDWT(w) { m_WaveType = HAAR; } template Haar:: Haar(const Haar &w) : WaveDWT(w) { m_WaveType = HAAR; } template Haar:: Haar(int tree=0) : WaveDWT(1,1,tree,B_CYCLE) { m_WaveType = HAAR; } // destructor template Haar::~Haar() { } // clone template Haar* Haar::Clone() const { return new Haar(*this); } // decompose function does one step of forward transformation. // input parameter is the level to be transformed // input parameter is the layer to be transformed. template void Haar::decompose(int level,int layer) { level++; // increment level (next level now) const int nS = nWWS>>level; // nS - number of samples in the layer register int stride = 1< input parameter is the level to be reconstructed // input parameter is the layer to be reconstructed. template void Haar::reconstruct(int level,int layer) { level++; // increment level (next level now) const int nS = nWWS>>level; // nS - number of samples in the layer register int stride = 1<; CLASS_INSTANTIATION(float) CLASS_INSTANTIATION(double) //CLASS_INSTANTIATION(std::complex) //CLASS_INSTANTIATION(std::complex) #undef CLASS_INSTANTIATION template Haar:: Haar(const Haar &); template Haar:: Haar(const Haar &); } // end namespace datacondAPIwat