discrete wavelet transform

Brian Gough bjg@network-theory.co.uk
Mon Mar 8 17:23:00 GMT 2004

Ivo Alxneit writes:
 > is this something that could be included in gsl? if yes i would
 > still need to write some tests (suggestions welcome) and
 > documentation.

Wavelets are something that could be included in GSL.  From a brief
look there are a few recommendations I would make:

- to use plain arrays internally rather than vectors, this would be
  simpler and avoid unnecessary copying of elements into the vectors
  from arrays.  Similarly use an api with (pointer,stride,length) as
  in the FFTs, to remove the dependency on gsl_vector.

- the coefficients c are constant so it should be possible to create
  them as static const objects and pass only pointers around,
  preserving constness correctly.  The definition of h in the wavelet
  struct is not const, for example.

- avoid allocating workspace internally, this should be passed in as a
  parameter for efficiency (as in the ffts).

- obtain the coefficients from the original papers as an independent
  check, and to avoid any hassle from the authors of Wavekit.

- Omit the 2d case initially.

Those are a few areas that I noticed in the code itself, but I'm not
familiar with practical use of wavelets myself so I can't comment on
things like Th, Tv.  If there is a normal convention we should follow
it though.


More information about the Gsl-discuss mailing list