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 bydim2_multi_fwd()
from an original input matrix. The initialization functiondim2_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 todim2_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 usingdim2_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 todim2_multi_fwd()
. For a partial reconstruction of levels, this must be equal to , as returned fromdim2_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 todim2_multi_fwd()
. For a partial reconstruction of , this must be equal to , as returned fromdim2_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 ofdim2_multi_fwd()
. That is, given a set of wavelet coefficients, computed up to level bydim2_multi_fwd()
using a DWT as set up by the initialization functiondim2_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 todim2_multi_fwd()
. This results in a partial reconstruction.