JuliaDSP / Wavelets.jl

A Julia package for fast discrete wavelet transforms and utilities
Other
185 stars 30 forks source link

Is an undecimated DWT possible? #31

Closed bryaan closed 4 years ago

bryaan commented 7 years ago

Is there any way to create an undecimated DWT as of now?

If not, are there any plans?

gummif commented 7 years ago

No, the upsampling and downsampling is pretty baked into the algorithms. I at least don't have much time so there are no plans.

daanhb commented 7 years ago

Perhaps I can help? It is not that I have much time available right now myself, but some time ago I experimented with Wavelets.jl in order to play with vectors of arbitrary length, biorthogonal (filter-based) transforms and various extension methods. This didn't quite materialize yet, but I intend to pick it up again in the not too distant future. If so, I'd be happy to polish and contribute the results.

ElOceanografo commented 6 years ago

I've just implemented some pseudocode from Percival and Walden's "Wavelet methods for time series analysis" for the undecimated DWT (which they call the maximal overlap DWT, or MODWT). I've checked my code's results against those of the wavMODWT function in the R package wmtsa, based on the book. I can reproduce them, though it requires some fiddling with wavelet filters...theirs seem to be defined slightly differently from those here (differences in sign, normalization, and indexing of the filter orders).

I could add this implementation and make a PR if desired...

gugushvili commented 6 years ago

MODWT would be a very useful addition. I work on wavelet de-noising methodologies, and at the moment use an admittedly not very elegant solution of using R for computing MODWT, while performing the actual de-noising in Julia.

ElOceanografo commented 6 years ago

Ha, that's what I've been doing too. I'll try to make some time for this in the next couple of weeks.