[AstroPy] Interested in a wavelet toolbox?

Ricky Egeland ricky.egeland at gmail.com
Thu Apr 2 17:40:41 EDT 2015

I was searching for a well-tested wavelet library in Python a few months ago, and did not find anything fully satisfactory.  I wanted a continuous wavelet transform using the Morlet mother wavelet, with significance contours.  I feel like such a package belongs in scipy more than it does astropy, as wavelets are a general signal processing technique not restricted to astronomy.  There are a few wavelet-related functions in scipy.signal already, but they do not work together (e.g. scipy.signal.cwt is unrelated to scipy.signal.morlet) and it is not clear how they are intended to be used.  I have seen scipy discussions that propose throwing all that away and starting over.

In case they are useful, here are my notes from the search:

 - scipy.signal.wavelet : cwt(), only Mexican hat wavelet?  Poor documentation

 - kPyWavelet : https://github.com/Cadair/kPyWavelet/
   Linked from http://ocgweb.marine.usf.edu/~liu/wavelet.html
   Few users... real interest?

 - A Practical Guide to Wavelet Analysis
   Highly cited ... no python

 - pycwt
   Explicitly based on T&C code above
   # Tested.  Example code has a few minor bugs, but appears to be doing the right thing

 - PyCWT
   Simple, 1 file
   Based on T&C
   # Tested. No example code, but docstrings have examples (that don't work as-is)  Source code is cleaner than pycwt.  scaleogram() has some issues.  Need to input scales, not frequencies...

 - ObsPy
 - PyWavelets
   Part of MacPorts
   Good documentation effort
   Only one developer, but 5+ years effort

 - https://github.com/aaren/wavelets

 - https://pypi.python.org/pypi/waipy
   Based on T&C code

 - scipy wavelet discussions: https://github.com/scipy/scipy/issues?utf8=✓&q=is%3Aissue+is%3Aopen+wavelet

In the end I forked Unidata/pyCWT, fixed a few things and used that (https://github.com/rickyegeland/pyCWT).  On a second look I decided regeirk/pycwt might have been the better implementation, but the interface and documentation were not the best for getting started.

Hope this helps.

Ricky Egeland

On Apr 2, 2015, at 12:47 PM, Amara Graps <amara at konteur.com> wrote:

> Greetings astropy-ers,
> I'm proposing the development of a wavelet library in Python to a
> (European Commission) funding agency and I'll need beta testing
> of some parts. I think it would be especially great to have the
> library be incorporated into AstroPy after it's written and tested
> because the funds for maintenance would end when the project ends..
> yet astronomers continue to love wavelets.
> Some large part of my Python wavelet library would be built upon this
> well-established (general purpose) Matlab toolbox:
> http://statweb.stanford.edu/~wavelab/Wavelab_850/index_wavelab850.html
> Does this sound useful and interesting to this group? If it does, please
> reply to graps at psi.edu. I'm gathering documentation of the AstroPy user
> community's interest and my testing and maintenance methodology in order
> to help the project get funded.
> Thanks very much in advance!
> Sincerely,
> Amara
> Amara Graps, PhD
> Lead Researcher,  University of Latvia
> Astronomijas institūts, Raiņa bulvāris 19, Rīga, LV-1050, Latvia
> amara at lu.lv  +371 / 28853907
> and
> Senior Scientist, Planetary Science Institute (PSI, USA),
> Aleksandra Caka iela, 96-31,
> Riga, Latvia LV-1011
> http://www.psi.edu/about/staff/graps/graps.html
> graps at psi.edu  +1 / 644-6250
> _______________________________________________
> AstroPy mailing list
> AstroPy at scipy.org
> http://mail.scipy.org/mailman/listinfo/astropy

More information about the AstroPy mailing list