int QccWAVWaveletAnalysis1D(QccVector
signal, int signal_length, int phase, const QccWAVWavelet *wavelet);
int QccWAVWaveletSynthesis1D(QccVector signal, int signal_length, int
phase, const QccWAVWavelet *wavelet);
QccWAVWaveletSynthesis1D() performs one level of wavelet synthesis. The first half of signal is assumed to contain the lowpass subband while the second half contains the highpass subband. QccWAVWaveletSynthesis1D() calls either QccWAVFilterBankSynthesis(3) or QccWAVLiftingSynthesis(3) depending on whether wavelet specifies a filter-bank or lifting implementation. phase indicates whether signal is to start with an odd- or even-indexed sample. signal_length can be even or odd.
Note: In general, you will probably want to use QccWAVWaveletDWT1D(3) and QccWAVWaveletInverseDWT1D(3) instead of these routines for implementing a discrete wavelet transform and its inverse since QccWAVWaveletDWT1D(3) and QccWAVWaveletInverseDWT1D(3) allow any number of scales, or levels, of decomposition to be performed.
M. Antonini, M. Barlaud, P. Mathieu, and I. Daubechies, "Image Coding Using Wavelet Transform," IEEE Transactions on Image Processing, vol. 1, pp. 205-220, April 1992.
I. Daubechies and W. Sweldens, "Factoring Wavelet Transforms Into Lifting Steps," J. Fourier Anal. Appl., vol. 4, no. 3, pp. 245-267, 1998.