This is the mail archive of the
gsl-discuss@sources.redhat.com
mailing list for the GSL project.
Re: discrete wavelet transform
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Monday 08 March 2004 06:22 pm, you wrote:
> 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:
sounds good
>
> - 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.
>
ok i will look into those points. the daubechies constans i initially had from
the original paper but i used wavekit's output because it gives more
significant digits.
in the near future i am quite busy but i suspect to have more time next month
to go over the wavelts again. (if somebody likes to step in...)
one point that i realized recently. i would be relative easy to also include
wavelet packets in the same framework. in contrast to a wavlet analysis
(returning 2^N wavelet coefficients from a 2^N vector) the wavelet packet
analysis returns a N x 2^N matrix of coefficients. so would it be better to
turn dwt_1D into a function like
wc=dwt_1d(w, a, isign)
(both, wc and a being arrays of length 2^N) for consistency with the wavelet
packet case (at the expense of needing space for both a and wc)?
>
> - Omit the 2d case initially.
>
ok (this was my motivation for wavelets, though. i am doing image denoising)
> 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.
i tried to find out myself what is the normal convention. with not much
success yet (again, somebody could help here?)
- --
Dr. Ivo Alxneit
Laboratory for Solar Technology phone: +41 56 310 4092
CH-5232 Villigen fax: +41 56 310 2624
Paul Scherrer Institute http://solar.web.psi.ch
Switzerland gnupg key: 0x515E30C7
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQFATsXNAd7CE1FeMMcRAnD6AJ4gbt5cuBwutjYpJETR94fNLqhPOACghg6j
USgsf9E2wUTg78B2TusUNLA=
=sDcy
-----END PGP SIGNATURE-----