Next: , Previous: DWT Definitions, Up: Wavelet Transforms


30.2 Initialization

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

The 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.

— Function: void gsl_wavelet_workspace_free (gsl_wavelet_workspace * work)

This function frees the allocated workspace work.