naginterfaces.library.wav.dim2_​multi_​inv

naginterfaces.library.wav.dim2_multi_inv(nwlinv, c, m, n, comm)[source]

dim2_multi_inv 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 dim2_multi_fwd() from an original input matrix. The initialization function dim2_init() must be called first to set up the DWT options.

For full information please refer to the NAG Library document for c09ed

https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/c09/c09edf.html

Parameters
nwlinvint

The number of levels to be used in the inverse multi-level transform. The number of levels must be less than or equal to , which has the value of argument as used in the computation of the wavelet coefficients using dim2_multi_fwd(). The data will be reconstructed to level , where level is the original input dataset provided to dim2_multi_fwd().

cfloat, array-like, shape

The coefficients of a multi-level wavelet transform of the original matrix, , which may have been filtered or otherwise manipulated.

Let be the number of coefficients (of each type) at level , for .

Then, setting and , for , the coefficients are stored in as follows:

, for

Contains the level approximation coefficients, .

, for

Contains the level vertical, horizontal and diagonal coefficients. These are:

vertical coefficients if ;

horizontal coefficients if ;

diagonal coefficients if ,

for .

Note that the coefficients in may be extracted according to level and type into two-dimensional arrays using dim2_coeff_ext(), and inserted using dim2_coeff_ins().

mint

The number of elements, , in the first dimension of the reconstructed matrix . For a full reconstruction of levels, where is as supplied to dim2_multi_fwd(), this must be the same as argument used in the call to dim2_multi_fwd(). For a partial reconstruction of levels, this must be equal to , as returned from dim2_multi_fwd().

nint

The number of elements, , in the second dimension of the reconstructed matrix . For a full reconstruction of levels, where is as supplied to dim3_multi_fwd(), this must be the same as argument used in the call to dim2_multi_fwd(). For a partial reconstruction of , this must be equal to , as returned from dim2_multi_fwd().

commdict, communication object

Communication structure.

This argument must have been initialized by a prior call to dim2_init().

Returns
bfloat, ndarray, shape

The reconstructed matrix, , based on the input multi-level wavelet transform coefficients and the transform options supplied to the initialization function dim2_init().

Raises
NagValueError
(errno )

On entry, and .

Constraint: .

(errno )

On entry, .

Constraint: .

(errno )

On entry, .

Constraint: , the total number of coefficients generated by the preceding call to dim2_multi_fwd().

(errno )

On entry, .

Constraint: , the number of coefficients in the second dimension at the required level of reconstruction.

(errno )

On entry, .

Constraint: , the number of coefficients in the first dimension at the required level of reconstruction.

(errno )

Either the initialization function has not been called first or [‘icomm’] has been corrupted.

(errno )

Either the initialization function was called with or [‘icomm’] has been corrupted.

Notes

dim2_multi_inv performs the inverse operation of dim2_multi_fwd(). That is, given a set of wavelet coefficients, computed up to level by dim2_multi_fwd() using a DWT as set up by the initialization function dim2_init(), on a real matrix, , dim2_multi_inv 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 dim2_multi_fwd(). This results in a partial reconstruction.