VAPoR  0.1
Public Member Functions | List of all members
VAPoR::WaveletBlock2D Class Reference

A tile-based, 2D wavelet transformer. More...

#include <WaveletBlock2D.h>

Inheritance diagram for VAPoR::WaveletBlock2D:
VetsUtil::MyBase

Public Member Functions

 WaveletBlock2D (size_t bs[2], unsigned int n, unsigned int ntilde)
 
virtual ~WaveletBlock2D ()
 
void ForwardTransform (const float *src_super_tile[4], float *dst_super_tile[4])
 
void InverseTransform (const float *src_super_tile[4], float *dst_super_tile[4])
 
- Public Member Functions inherited from VetsUtil::MyBase
 MyBase ()
 
const string & getClassName () const
 

Additional Inherited Members

- Public Types inherited from VetsUtil::MyBase
typedef void(* ErrMsgCB_T) (const char *msg, int err_code)
 
typedef void(* DiagMsgCB_T) (const char *msg)
 
- Static Public Member Functions inherited from VetsUtil::MyBase
static void SetErrMsg (const char *format,...)
 Record a formatted error message. More...
 
static void SetErrMsg (int errcode, const char *format,...)
 Record a formatted error message and an error code. More...
 
static const char * GetErrMsg ()
 
static void SetErrCode (int err_code)
 Record an error code. More...
 
static int GetErrCode ()
 Retrieve the current error code. More...
 
static void SetErrMsgCB (ErrMsgCB_T cb)
 
static ErrMsgCB_T GetErrMsgCB ()
 
static void SetErrMsgFilePtr (FILE *fp)
 
static const FILE * SetErrMsgFilePtr ()
 
static void SetDiagMsg (const char *format,...)
 Record a formatted diagnostic message. More...
 
static const char * GetDiagMsg ()
 
static void SetDiagMsgCB (DiagMsgCB_T cb)
 
static DiagMsgCB_T GetDiagMsgCB ()
 
static void SetDiagMsgFilePtr (FILE *fp)
 
static bool EnableErrMsg (bool enable)
 
- Static Public Attributes inherited from VetsUtil::MyBase
static char * ErrMsg
 
static int ErrCode
 
static int ErrMsgSize
 
static FILE * ErrMsgFilePtr
 
static ErrMsgCB_T ErrMsgCB
 
static char * DiagMsg
 
static int DiagMsgSize
 
static FILE * DiagMsgFilePtr
 
static DiagMsgCB_T DiagMsgCB
 
static bool Enabled
 
- Protected Member Functions inherited from VetsUtil::MyBase
void SetClassName (const string &name)
 

Detailed Description

A tile-based, 2D wavelet transformer.

Author
John Clyne
Version
$Revision$
Date
$Date$

This class provides a 2D, tile-based wavelet transform API based on Wim Swelden's Liftpack library.

Definition at line 27 of file WaveletBlock2D.h.

Constructor & Destructor Documentation

VAPoR::WaveletBlock2D::WaveletBlock2D ( size_t  bs[2],
unsigned int  n,
unsigned int  ntilde 
)

Constructor for the WaveletBlock2D class.

Parameters
[in]bsDimension of a tile along X, Y, and Z coordinates axis
[in]Numberof wavelet filter coefficients. Valid values are from 1 to Lifting1D::MAX_FILTER_COEFF
[in]ntildeNumber of wavelet lifting coefficients. Valid values are from 1 to Lifting1D::MAX_FILTER_COEFF
[in]nthreadsNumber of execution threads that may be used by the class for parallel execution.
Note
The success or failure of this constructor can be checked with the GetErrCode() method.
See also
Lifting1D, GetErrCode(),
virtual VAPoR::WaveletBlock2D::~WaveletBlock2D ( )
virtual

Member Function Documentation

void VAPoR::WaveletBlock2D::ForwardTransform ( const float *  src_super_tile[4],
float *  dst_super_tile[4] 
)

Perform a forward wavelet transform on a super tile

Performs a forward, 2D wavelet transform on each of eight neighboring tiles contained in a super tile, src_super_tile. The resulting Lambda and Gamma coefficients are stored in a destination super tile, dst_super_tile. The distribution of coefficients stored in the space pointed to by dst_super_tile is as follows: tile 0 contains the L (Lambda) subband, tile 1 contains the Hz (Gamma) subband, tiles 2 & 3 contain the Hy subband, tiles 4 - 7 contain the Hx subband.

Parameters
[in]src_super_tileAn array of pointers to tiles.
[out]dst_super_tileAn array of pointers to tiles.
Note
The resulting transformed coefficients are stored as tranposed arrays. The tiles may be re-ordered to conventional, X, Y, Z order with the Transpose() method.
See also
InverseTransform(), Transpose()
void VAPoR::WaveletBlock2D::InverseTransform ( const float *  src_super_tile[4],
float *  dst_super_tile[4] 
)

Perform an inverse wavelet transform on a super tile

Performs a inverse, 2D wavelet transform on each of eight neighboring tiles contained in a super tile, src_super_tile. The resulting coefficients are stored in a destination super tile, dst_super_tile.

Parameters
[in]src_super_tileAn array of pointers to tiles
[out]dst_super_tileAn array of pointers to tiles.
See also
ForwardTransform()

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