29 #ifndef PGF_WAVELETTRANSFORM_H
30 #define PGF_WAVELETTRANSFORM_H
38 #define FilterHeight 3
40 #ifdef __PGFROISUPPORT__
59 void Destroy() {
delete[] m_indices; m_indices = 0; }
61 void ComputeIndices(UINT32 width, UINT32 height,
const PGFRect& rect);
62 const PGFRect& GetIndices(
int level)
const { ASSERT(m_indices); ASSERT(level >= 0 && level < m_nLevels);
return m_indices[level]; }
63 void SetLevels(
int levels) { ASSERT(levels > 0); m_nLevels = levels; }
64 void ComputeTileIndex(UINT32 width, UINT32 height, UINT32 pos,
bool horizontal,
bool isMin);
70 UINT32
GetNofTiles(
int level)
const { ASSERT(level >= 0 && level < m_nLevels);
return 1 << (m_nLevels - level - 1); }
77 #endif //__PGFROISUPPORT__
116 OSError
InverseTransform(
int level, UINT32* width, UINT32* height, DataT** data);
123 ASSERT(level >= 0 && level < m_nLevels);
124 return &m_subband[level][orientation];
127 #ifdef __PGFROISUPPORT__
146 const PGFRect&
GetROI(
int level)
const {
return m_subband[level][LL].GetROI(); }
148 #endif // __PGFROISUPPORT__
152 delete[] m_subband; m_subband = 0;
153 #ifdef __PGFROISUPPORT__
154 m_ROIindices.Destroy();
157 void InitSubbands(UINT32 width, UINT32 height, DataT* data);
158 void ForwardRow(DataT* buff, UINT32 width);
159 void InverseRow(DataT* buff, UINT32 width);
160 void LinearToMallat(
int destLevel,DataT* loRow, DataT* hiRow, UINT32 width);
161 void MallatToLinear(
int srcLevel, DataT* loRow, DataT* hiRow, UINT32 width);
163 #ifdef __PGFROISUPPORT__
165 #endif //__PGFROISUPPORT__
171 #endif //PGF_WAVELETTRANSFORM_H
Wavelet channel class.
Definition: Subband.h:42
PGF wavelet subband class.
CSubband()
Standard constructor.
Definition: Subband.cpp:35
#define NSubbands
number of subbands per level
Definition: PGFtypes.h:57
UINT32 GetNofTiles(int level) const
Definition: WaveletTransform.h:70
ROI indices.
Definition: WaveletTransform.h:45
Rectangle.
Definition: PGFtypes.h:194