**Name**

**dyowave2** Computes the orthogonal wavelet coefficients of an image without decimation

**Command Synopsis**

**dyowave2** [-r *NLevel*] [-d *StopDecimLevel*] [-o] [-e *EdgeMode*] [-p *PrecondMode*] [-n *FiltNorm*] *Image* *WavTrans* *ImpulseResponse* [*EdgeIR* ]

-rNLevel: Number of levels (default 1)

-dStopDecimLevel: Level for decimation stop (default 2)

-o : Computes orthogonal coefficients

-eEdgeMode: Edge processing mode (0/1/2/3, default 3)

-pPrecondMode: Edge preconditionning mode (0/1/2, default 2)

-nFiltNorm: Filter taps normalization. 0: no normalization, 1: sum equal to 1.0, 2: squares sum equal to 1.0 (default)

Image: Input image (fimage)

WavTrans: Wavelet transform of Image (wtrans2d)

ImpulseResponse: Impulse response of inner filters (fsignal)

EdgeIR: Impulse reponses of edge and preconditionning filters (fimage)

**Function Summary**

void dyowave2 (NumRec , StopDecim , Ortho , Edge , Precond , FilterNorm , Image , Output , Ri , Edge_Ri )

int *NumRec ;

int *StopDecim ;

int *Ortho ;

int *Edge ;

int *Precond ;

int *FilterNorm ;

Fimage Image ;

Wtrans2d Output ;

Fsignal Ri ;

Fimage Edge_Ri ;

**Description**

*dyowave2* computes the orthogonal wavelet coefficients
of the floating point image stored in the file *Image*,
using filter banks associated to an orthogonal basis of wavelets.
The main difference with the *owave2* module is that the decimation
is not performed for levels higher than *StopDecimLevel* (-d option).
This means that if *j* is greater than *StopDecimLevel*, then one has
in the 1D formalism :

A_{j}[n] = h_{k-n}A_{j-1}[k] |
|||

D_{j}[n] = g_{k-n}A_{j-1}[k] |

instead of

A_{j}[n] = h_{k-2n}A_{j-1}[k] |
|||

D_{j}[n] = g_{k-2n}A_{j-1}[k] |

If the -o option is selected, then one has (replacing *StopDecimLevel*
by *j*_{d} to simplify the notations) for *j* > *j*_{d} and
0 *m* < 2^{j-jd} :

A_{j}[2^{j-jd}n + m] = h_{k-n}A_{j-1}[2^{j-jd}k + m] |
|||

D_{j}[2^{j-jd}n + m] = g_{k-n}A_{j-1}[2^{j-jd}k + m] |

This makes possible to interpret the coeffients {

The -r, -e, -p and -n options have the same meaning as for *owave1* and
*owave2* modules.

**See Also**

**Version 1.1**

Last Modification date : Thu Apr 1 16:42:14 2004

**Author**

Jean-Pierre D'Ales