Next: DWT Transform Functions, Previous: DWT Definitions, Up: Wavelet Transforms [Index]

The `gsl_wavelet`

structure contains the filter coefficients
defining the wavelet and any associated offset parameters.

- Function:
*gsl_wavelet ****gsl_wavelet_alloc***(const gsl_wavelet_type **`T`, size_t`k`) -
This function allocates and initializes a wavelet object of type

`T`. The parameter`k`selects the specific member of the wavelet family. A null pointer is returned if insufficient memory is available or if a unsupported member is selected.

The following wavelet types are implemented:

- Wavelet:
**gsl_wavelet_daubechies** - Wavelet:
**gsl_wavelet_daubechies_centered** -
This is the Daubechies wavelet family of maximum phase with

*k/2*vanishing moments. The implemented wavelets are*k=4, 6, …, 20*, with`k`even.

- Wavelet:
**gsl_wavelet_haar** - Wavelet:
**gsl_wavelet_haar_centered** -
This is the Haar wavelet. The only valid choice of

*k*for the Haar wavelet is*k=2*.

- Wavelet:
**gsl_wavelet_bspline** - Wavelet:
**gsl_wavelet_bspline_centered** -
This is the biorthogonal B-spline wavelet family of order

*(i,j)*. The implemented values of*k = 100*i + j*are 103, 105, 202, 204, 206, 208, 301, 303, 305 307, 309.

The centered forms of the wavelets align the coefficients of the various sub-bands on edges. Thus the resulting visualization of the coefficients of the wavelet transform in the phase plane is easier to understand.

- Function:
*const char ****gsl_wavelet_name***(const gsl_wavelet **`w`) This function returns a pointer to the name of the wavelet family for

`w`.

- Function:
*void***gsl_wavelet_free***(gsl_wavelet **`w`) This function frees the wavelet object

`w`.

The `gsl_wavelet_workspace`

structure contains scratch space of the
same size as the input data and is used to hold intermediate results
during the transform.

- Function:
*gsl_wavelet_workspace ****gsl_wavelet_workspace_alloc***(size_t*`n`) -
This function allocates a workspace for the discrete wavelet transform. To perform a one-dimensional transform on

`n`elements, a workspace of size`n`must be provided. For two-dimensional transforms of`n`-by-`n`matrices it is sufficient to allocate a workspace of size`n`, since the transform operates on individual rows and columns. A null pointer is returned if insufficient memory is available.

- Function:
*void***gsl_wavelet_workspace_free***(gsl_wavelet_workspace **`work`) This function frees the allocated workspace

`work`.

Next: DWT Transform Functions, Previous: DWT Definitions, Up: Wavelet Transforms [Index]