# ilwt

Inverse 1-D lifting wavelet transform

## Syntax

```X = ilwt(AD_In_Place,W) X = ilwt(CA,CD,W) X = ilwt(AD_In_Place,W,LEVEL) X = ILWT(CA,CD,W,LEVEL) X = ilwt(AD_In_Place,W,LEVEL,'typeDEC',typeDEC) X = ilwt(CA,CD,W,LEVEL,'typeDEC',typeDEC) ```

## Description

`ilwt` performs a 1-D lifting wavelet reconstruction with respect to a particular lifted wavelet that you specify.

`X = ilwt(AD_In_Place,W)` computes the reconstructed vector `X` using the approximation and detail coefficients vector `AD_In_Place` obtained by a lifting wavelet reconstruction. `W` is a lifted wavelet name (see `liftwave`).

`X = ilwt(CA,CD,W)` computes the reconstructed vector `X` using the approximation coefficients vector `CA` and detail coefficients vector `CD` obtained by a lifting wavelet reconstruction.

`X = ilwt(AD_In_Place,W,LEVEL)` or ```X = ILWT(CA,CD,W,LEVEL)``` computes the lifting wavelet reconstruction, at level `LEVEL`.

`X = ilwt(AD_In_Place,W,LEVEL,'typeDEC',typeDEC)` or ```X = ilwt(CA,CD,W,LEVEL,'typeDEC',typeDEC)``` with ```typeDEC = 'w'``` or `'wp'` computes the wavelet or the wavelet packet decomposition using lifting, at level `LEVEL`.

Instead of a lifted wavelet name, you may use the associated lifting scheme `LS`: `X = ilwt(...,LS,...)` instead of `X = ILWT(...,W,...)`.

For more information about lifting schemes, see `lsinfo`.

## Examples

```% Start from the Haar wavelet and get the % corresponding lifting scheme. lshaar = liftwave('haar'); % Add a primal ELS to the lifting scheme. els = {'p',[-0.125 0.125],0}; lsnew = addlift(lshaar,els); % Perform LWT at level 1 of a simple signal. x = 1:8; [cA,cD] = lwt(x,lsnew); % Perform integer LWT of the same signal. lshaarInt = liftwave('haar','int2int'); lsnewInt = addlift(lshaarInt,els); [cAint,cDint] = lwt(x,lsnewInt); % Invert the two transforms. xRec = ilwt(cA,cD,lsnew); err = max(max(abs(x-xRec))) err = 4.4409e-016 xRecInt = ilwt(cAint,cDint,lsnewInt); errInt = max(max(abs(x-xRecInt))) errInt = 0 ``` 