|
VAPoR
0.1
|
A block-based, 3D wavelet transformer. More...
#include <WaveletBlock3D.h>
Public Member Functions | |
| WaveletBlock3D (unsigned int bs, unsigned int n, unsigned int ntilde, unsigned int nthreads) | |
| virtual | ~WaveletBlock3D () |
| void | ForwardTransform (const float *src_super_blk[8], float *dst_super_blk[8]) |
| void | InverseTransform (const float *src_super_blk[8], float *dst_super_blk[8]) |
| void | TransposeBlks (float *super_blk[8]) |
| void | inverse_transform_thread () |
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) |
A block-based, 3D wavelet transformer.
This class provides a 3D, block-based wavelet transform API based on Wim Swelden's Liftpack library.
Definition at line 27 of file WaveletBlock3D.h.
| VAPoR::WaveletBlock3D::WaveletBlock3D | ( | unsigned int | bs, |
| unsigned int | n, | ||
| unsigned int | ntilde, | ||
| unsigned int | nthreads | ||
| ) |
Constructor for the WaveletBlock3D class.
| [in] | bs | Dimension of a block along X, Y, and Z coordinates axis |
| [in] | Number | of wavelet filter coefficients. Valid values are from 1 to Lifting1D::MAX_FILTER_COEFF |
| [in] | ntilde | Number of wavelet lifting coefficients. Valid values are from 1 to Lifting1D::MAX_FILTER_COEFF |
| [in] | nthreads | Number of execution threads that may be used by the class for parallel execution. |
|
virtual |
| void VAPoR::WaveletBlock3D::ForwardTransform | ( | const float * | src_super_blk[8], |
| float * | dst_super_blk[8] | ||
| ) |
Perform a forward wavelet transform on a super block
Performs a forward, 3D wavelet transform on each of eight neighboring blocks contained in a super block, src_super_blk. The resulting Lambda and Gamma coefficients are stored in a destination super block, dst_super_blk. The distribution of coefficients stored in the space pointed to by dst_super_blk is as follows: block 0 contains the L (Lambda) subband, block 1 contains the Hz (Gamma) subband, blocks 2 & 3 contain the Hy subband, blocks 4 - 7 contain the Hx subband.
| [in] | src_super_blk | An array of pointers to blocks. |
| [out] | dst_super_blk | An array of pointers to blocks. |
Transpose() method.| void VAPoR::WaveletBlock3D::inverse_transform_thread | ( | ) |
| void VAPoR::WaveletBlock3D::InverseTransform | ( | const float * | src_super_blk[8], |
| float * | dst_super_blk[8] | ||
| ) |
Perform an inverse wavelet transform on a super block
Performs a inverse, 3D wavelet transform on each of eight neighboring blocks contained in a super block, src_super_blk. The resulting coefficients are stored in a destination super block, dst_super_blk.
| [in] | src_super_blk | An array of pointers to blocks |
| [out] | dst_super_blk | An array of pointers to blocks. |
| void VAPoR::WaveletBlock3D::TransposeBlks | ( | float * | super_blk[8] | ) |
Transpose a super block created by ForwardTransform() to X, Y, Z order.
The gamma coefficient blocks returned by ForwardTransform() are tranposed. This method can be used to perform an in-place tranpose restoring gamma blocks to their natural, X, Y, Z order.
| [in,out] | src_super_blk | An array of pointers to blocks |
1.8.10