nag_imldwt_2d (c09edc) computes the inverse two-dimensional multi-level discrete wavelet transform (DWT). This function reconstructs data from (possibly filtered or otherwise manipulated) wavelet transform coefficients calculated by nag_mldwt_2d (c09ecc)
from an original input matrix. The initialization function nag_wfilt_2d (c09abc)
must be called first to set up the DWT options.
nag_imldwt_2d (c09edc) performs the inverse operation of nag_mldwt_2d (c09ecc)
. That is, given a set of wavelet coefficients, computed up to level
by nag_mldwt_2d (c09ecc)
using a DWT as set up by the initialization function nag_wfilt_2d (c09abc)
, on a real matrix,
, nag_imldwt_2d (c09edc) will reconstruct
. The reconstructed matrix is referred to as
in the following since it will not be identical to
when the DWT coefficients have been filtered or otherwise manipulated prior to reconstruction. If the original input matrix is level
, then it is possible to terminate reconstruction at a higher level by specifying fewer than the number of levels used in the call to nag_mldwt_2d (c09ecc)
. This results in a partial reconstruction.
The accuracy of the wavelet transform depends only on the floating-point operations used in the convolution and downsampling and should thus be close to machine precision.
nag_imldwt_2d (c09edc) is not threaded in any implementation.
See Section 10
in nag_mldwt_2d (c09ecc).