nag_idwt_3d (c09fbc) (PDF version)
c09 Chapter Contents
c09 Chapter Introduction
NAG Library Manual

NAG Library Function Document

nag_idwt_3d (c09fbc)

+ Contents

    1  Purpose
    7  Accuracy
    10  Example

1  Purpose

nag_idwt_3d (c09fbc) computes the three-dimensional inverse discrete wavelet transform (IDWT) at a single level. The initialization function nag_wfilt_3d (c09acc) must be called first to set up the DWT options.

2  Specification

#include <nag.h>
#include <nagc09.h>
void  nag_idwt_3d (Integer m, Integer n, Integer fr, Integer lenc, const double c[], double b[], Integer ldb, Integer sdb, const Integer icomm[], NagError *fail)

3  Description

nag_idwt_3d (c09fbc) performs the inverse operation of function nag_dwt_3d (c09fac). That is, given sets of wavelet coefficients computed by function nag_dwt_3d (c09fac) using a DWT as set up by the initialization function nag_wfilt_3d (c09acc), on a real data array, B, nag_idwt_3d (c09fbc) will reconstruct B.

4  References

None.

5  Arguments

1:     mIntegerInput
On entry: the number of rows of each two-dimensional frame.
Constraint: this must be the same as the value m passed to the initialization function nag_wfilt_3d (c09acc).
2:     nIntegerInput
On entry: the number of columns of each two-dimensional frame.
Constraint: this must be the same as the value n passed to the initialization function nag_wfilt_3d (c09acc).
3:     frIntegerInput
On entry: the number two-dimensional frames.
Constraint: this must be the same as the value fr passed to the initialization function nag_wfilt_3d (c09acc).
4:     lencIntegerInput
On entry: the dimension of the array c.
Constraint: lencnct, where nct is the total number of wavelet coefficients, as returned by nag_wfilt_3d (c09acc).
5:     c[lenc]const doubleInput
On entry: the coefficients of the discrete wavelet transform. This will normally be the result of some transformation on the coefficients computed by function nag_dwt_3d (c09fac).
Note that the coefficients in c may be extracted according to type into three-dimensional arrays using nag_wav_3d_coeff_ext (c09fyc), and inserted using nag_wav_3d_coeff_ins (c09fzc).
6:     b[dim]doubleOutput
Note: the dimension, dim, of the array b must be at least ldb×sdb×fr.
On exit: the m by n by fr reconstructed array, B, with Bijk stored in b[k-1×ldb×sdb+j-1×ldb+i-1]. The reconstruction is based on the input wavelet coefficients and the transform options supplied to the initialization function nag_wfilt_3d (c09acc).
7:     ldbIntegerInput
On entry: the stride separating row elements of each of the sets of frame coefficients in the three-dimensional data stored in b.
Constraint: ldbm.
8:     sdbIntegerInput
On entry: the stride separating corresponding coefficients of consecutive frames in the three-dimensional data stored in b.
Constraint: sdbn.
9:     icomm[260]const IntegerCommunication Array
On entry: contains details of the discrete wavelet transform and the problem dimension as setup in the call to the initialization function nag_wfilt_3d (c09acc).
10:   failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

6  Error Indicators and Warnings

NE_ALLOC_FAIL
Dynamic memory allocation failed.
NE_BAD_PARAM
On entry, argument value had an illegal value.
NE_INITIALIZATION
Either the communication array icomm has been corrupted or there has not been a prior call to the initialization function nag_wfilt_3d (c09acc).
The initialization function was called with wtrans=Nag_MultiLevel.
NE_INT
On entry, fr=value.
Constraint: fr=value, the value of fr on initialization (see nag_wfilt_3d (c09acc)).
On entry, m=value.
Constraint: m=value, the value of m on initialization (see nag_wfilt_3d (c09acc)).
On entry, n=value.
Constraint: n=value, the value of n on initialization (see nag_wfilt_3d (c09acc)).
NE_INT_2
On entry, ldb=value and m=value.
Constraint: ldbm.
On entry, lenc=value and nct=value.
Constraint: lencnct, where nct is the number of DWT coefficients returned by nag_wfilt_3d (c09acc) in argument nwct.
On entry, sdb=value and n=value.
Constraint: sdbn.
NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.

7  Accuracy

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.

8  Parallelism and Performance

nag_idwt_3d (c09fbc) is threaded by NAG for parallel execution in multithreaded implementations of the NAG Library.
Please consult the Users' Note for your implementation for any additional implementation-specific information.

9  Further Comments

None.

10  Example

See Section 10 in nag_dwt_3d (c09fac).

nag_idwt_3d (c09fbc) (PDF version)
c09 Chapter Contents
c09 Chapter Introduction
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2014