[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
   http://paos.colorado.edu/research/wavelets/
   Highly cited ... no python

 - pycwt
   https://github.com/regeirk/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
   https://github.com/Unidata/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
   http://docs.obspy.org/master/tutorial/code_snippets/continuous_wavelet_transform.html
   
 - PyWavelets
   http://www.pybytes.com/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.

Regards,
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