Table of Contents

NAME

QccWAVSubbandPyramid3DIntDWT, QccWAVSubbandPyramid3DIntInverseDWT - separable 3D discrete wavelet transform and inverse transform for integer-valued subband-pyramid data

SYNOPSIS

#include "libQccPack.h"

int QccWAVSubbandPyramid3DIntDWT(QccWAVSubbandPyramid3DInt *subband_pyramid, int transform_type, int temporal_num_levels, int spatial_num_levels, const QccWAVWavelet *wavelet);
int QccWAVSubbandPyramid3DIntInverseDWT(QccWAVSubbandPyramid3DInt *subband_pyramid, const QccWAVWavelet *wavelet);

DESCRIPTION

QccWAVSubbandPyramid3DIntDWT() performs a separable 3D discrete wavelet transform (DWT) on the volume field of subband_pyramid. transform_type determines whether the transform is a dyadic or wavelet-packet decomposition. For a dyadic decomposition, transform_type should be QCCWAVSUBBANDPYRAMID3DINT_DYADIC; for a wavelet-packet decomposition, transform_type should be QCCWAVSUBBANDPYRAMID3DINT_PACKET. QccWAVSubbandPyramid3DIntDWT() implements the wavelet transform with a call to QccWAVWaveletDyadicDWT3DInt(3) or QccWAVWaveletPacketDWT3DInt(3) as appropriate.

If a dyadic decomposition is chosen (transform_type equal to QCCWAVSUBBANDPYRAMID3DINT_DYADIC), spatial_num_levels and temporal_num_levels must be set to the same value which indicates the number of levels (scales) of dyadic decomposition to perform. In this case, both the spatial_num_levels and temporal_num_levels fields of subband_pyramid are set to this value. Alternatively, if a wavelet-packet decomposition is chosen (transform_type equal to QCCWAVSUBBANDPYRAMID3DINT_PACKET), then spatial_num_levels and temporal_num_levels may be different and indicate the number of spatial decompositions and temporal decompositions, respectively, performed when calculating the wavelet-packet transform.

The origin_frame, origin_row, origin_col, subsample_pattern_frame, subsample_pattern_row, and subsample_pattern_col parameters as needed for QccWAVWaveletDyadicDWT3DInt(3) or QccWAVWaveletPacketDWT3DInt(3) are extracted from the corresponding fields of subband_pyramid.

QccWAVSubbandPyramid3DIntInverseDWT() calls QccWAVWaveletInverseDyadicDWT3DInt(3) or QccWAVWaveletInversePacketDWT3DInt(3) to perform a separable 3D inverse DWT on the volume field of subband_pyramid. The transform_type field of subband_pyramid indicates the type (dyadic or wavelet-packet) of transform, while the numbers of levels of the inverse transform is retrieved from the spatial_num_levels and temporal_num_levels fields of subband_pyramid. Both spatial_num_levels and temporal_num_levels are set to 0 upon return of QccWAVSubbandPyramid3DIntInverseDWT().

RETURN VALUES

These routines return 0 on success and 1 on error.

SEE ALSO

QccWAVWaveletDyadicDWT3DInt(3) , QccWAVWaveletInverseDyadicDWT3DInt(3) , QccWAVWaveletPacketDWT3DInt(3) , QccWAVWaveletInversePacketDWT3DInt(3) , QccWAVWavelet(3) , QccPackWAV(3) , QccPack(3)

A. R. Calderbank, I. Daubechies, W. Sweldens, B.-L. Yeo, "Lossless Image Compression Using Integer to Integer Wavelet Transforms", in Proceedings of the International Conference on Image Processing, Lausanne, Switzerland, pp. 596-599, September 1997.

Z. Xiong, X. Wu, S. Cheng, J. Hua, "Lossy-to-Lossless Compression of Medical Volumetric Data Using Three-Dimensional Integer Wavelet Transforms," IEEE Transactions on Medical Imaging, vol. 22, pp. 459-470, March 2003.

B.-J. Kim, Z. Xiong, and W. A. Pearlman, "Low Bit-Rate Scalable Video Coding with 3-D Set Partitioning in Hierarchical Trees (3-D SPIHT)," IEEE Transactions on Circuits and Systems for Video Technology, vol. 10, no. 8, pp. 1374-1387, December 2000.

AUTHOR

Copyright (C) 1997-2021 James E. Fowler


Table of Contents



Get QccPack at SourceForge.net. Fast, secure and Free Open Source software downloads