c09cd computes the inverse one-dimensional multi-level discrete wavelet transform (DWT). This method reconstructs data from (possibly filtered or otherwise manipulated) wavelet transform coefficients calculated by c09cc from an original set of data. The initialization method C09 Communication class constructor must be called first to set up the DWT options.
Syntax
C# |
---|
public static void c09cd( int nwlinv, double[] c, int n, double[] y, C09..::..C09Communications communications, out int ifail ) |
Visual Basic |
---|
Public Shared Sub c09cd ( _ nwlinv As Integer, _ c As Double(), _ n As Integer, _ y As Double(), _ communications As C09..::..C09Communications, _ <OutAttribute> ByRef ifail As Integer _ ) |
Visual C++ |
---|
public: static void c09cd( int nwlinv, array<double>^ c, int n, array<double>^ y, C09..::..C09Communications^ communications, [OutAttribute] int% ifail ) |
F# |
---|
static member c09cd : nwlinv : int * c : float[] * n : int * y : float[] * communications : C09..::..C09Communications * ifail : int byref -> unit |
Parameters
- nwlinv
- Type: System..::..Int32On entry: 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 parameter nwl as used in the computation of the wavelet coefficients using c09cc. The data will be reconstructed to level , where level is the original input dataset provided to c09cc.
- c
- Type: array<System..::..Double>[]()[][]An array of size [lenc]On entry: the coefficients of a multi-level wavelet transform of the dataset.Let be the number of coefficients (of each type) at level , for . Then, setting and , for , the coefficients are stored in c as follows:
- , for
- Contains the level approximation coefficients, .
- , for
- Contains the level detail coefficients .
- , for
- Contains the level detail coefficients, for .
- n
- Type: System..::..Int32
- y
- Type: array<System..::..Double>[]()[][]An array of size [n]On exit: the dataset reconstructed from the multi-level wavelet transform coefficients and the transformation options supplied to the initialization method c09aa.
- communications
- Type: NagLibrary..::..C09..::..C09CommunicationsAn Object of type C09.c09cdCommunications.
- ifail
- Type: System..::..Int32%On exit: unless the method detects an error or a warning has been flagged (see [Error Indicators and Warnings]).
Description
c09cd performs the inverse operation of c09cc. That is, given a set of wavelet coefficients, computed up to level by c09cc using a DWT as set up by the initialization method C09 Communication class constructor, on a real data array of length , c09cd will reconstruct the data array
, for ,
from which the coefficients were derived. If the original input dataset 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 c09cc. This results in a partial reconstruction.
References
None.
Error Indicators and Warnings
Errors or warnings detected by the method:
-
On entry, .
Constraint: .
-
On entry, lenc is set too small: .
Constraint: .
-
Either the initialization method has not been called first or array icomm has been corrupted.Either the initialization method was called with or array icomm has been corrupted.
-
Dynamic memory allocation failed.
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.
Parallelism and Performance
None.
Further Comments
None.