[SciPy-Dev] GSoC 2014 : Discrete Wavelets Transform

Ralf Gommers ralf.gommers at gmail.com
Sat Mar 15 12:07:40 EDT 2014


On Thu, Mar 13, 2014 at 6:49 PM, Ankit Agrawal <aaaagrawal at gmail.com> wrote:

>
> On Wed, Mar 12, 2014 at 5:27 AM, Skipper Seabold <jsseabold at gmail.com>wrote:
>
>> On Tue, Mar 11, 2014 at 6:22 PM, Ankit Agrawal <aaaagrawal at gmail.com>
>> wrote:
>> > Hi everyone,
>> >
>> >          I have created a page on wiki to list the possible tasks that
>> can
>> > go along with the project idea of integrating `pywt` library in
>> scipy.signal
>> > and addition of some related algorithms(denoising and compression using
>> > wavelets) to scikit-image and scipy.signal. Please feel free to suggest
>> or
>> > add any other related task. In the coming 2-3 days, I will go through
>> some
>> > papers and the pywt codebase to come up with better estimates of the
>> time in
>> > which I can complete those tasks. By the end of coming weekend(16th), I
>> hope
>> > to have shortlisted the tasks and the timeline for my GSoC proposal.
>> Thanks.
>> >
>>
>> Hi Ankit,
>>
>> I wrote up a blog post on using pywt for doing wavelet regression a
>> while back. There are some suggestions at the bottom for things I
>> found difficult and could easily be improved
>
>
Would be useful to get more suggestions like this. Because the API is more
or less fixed after one release, ideas that improve that API should be
prioritized I think. So far I've kept compatibility with upstream so that
it would be easy to contribute back, but it's now clear that upstream is
dead.

Some things that need changing or a closer look:
- the thresholding functions cannot keep their current names. Probably
should be a single function instead of four.
- the tuple of tuples of approximation coefficients returned by
dwt/swt/wavedec functions is ugly. Some container class with a few useful
methods would be nicer.
- the very different approach in the dwt/swt versus the wavelet packets is
quite odd.
- also some renaming is in order: `MODES` is not PEP8 compliant, `qmf` is
already used in scipy.signal, `families` is too generic,
upcoef/downcoef/scal2frq/orthfilt are not very informative.

Ralf




> like making pywt a little
>> more consistently object-oriented to save some keystrokes.
>>
>
> Hi Skipper,
>
>          Great blog post. What are your suggestions for some objects that
> could be introduced? For instance in your blog post example, you hint of a
> wavelet object that holds the coefficient arrays returned from `wavedec`,
> so that it could be passed to threshold functions. If I understand your use
> case correctly, won't this be a bit less generic in cases where you want
> only a subset of coefficient arrays to be thresholded?
>
>
>> Feel free to use any of this example code as well, if you think it
>> could find a home somewhere.
>>
>
> The example could find a home in tutorial section. Thanks.
>
> http://jseabold.net/blog/2012/02/23/wavelet-regression-in-python/
>>
>> Skipper
>> _______________________________________________
>> SciPy-Dev mailing list
>> SciPy-Dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-dev
>>
>
>
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20140315/78f7bafa/attachment.html>


More information about the SciPy-Dev mailing list