
Greetings! My name is Sean Arms and I'm a graduate student at the University of Oklahoma in the School of Meteorology. As part of my PhD research, I'm studying coherent structures in atmospheric boundary layer turbulence, primarily using in-situ observations and, secondarily, Direct Numerical Simulation (DNS) output. One common approach for detecting coherent structures in observational datasets relies on the use of the global wavelet power spectrum as estimated from a continuous wavelet transform (CWT). I know SciPy has a DWT impementation, and I've already been in contact with Filip. He recommeded that I post my code in hopes that it would add some momentum to the python-cwt development and create some feedback (I'm currently looking for a good place to post my code). I've implemented the CWT using pure python (that is, I did not write any C extension code myself - nothing to build), along with one mother wavelet (second derivitive of a Gaussian, or the Mexican Hat) - I'll be adding more Mother wavelets as I go along. I've made it a point to (try to) design my MotherWavelet class to be easily extendable. I'm working on documentation and a few tests at the moment, but so far my code compares well with other wavelet routines. The point of this email is to introduce myself and let the SciPy dev community know that I am willing to help develop CWT support for SciPy - I'll already be doing the work for my research, so I might as well put in the extra effort to make is usable by the larger community! Cheers! Sean Arms Graduate Research Assistant School of Meteorology University of Oklahoma

Hi Sean 2009/3/3 Sean Arms <lesserwhirls@gmail.com>:
The point of this email is to introduce myself and let the SciPy dev community know that I am willing to help develop CWT support for SciPy - I'll already be doing the work for my research, so I might as well put in the extra effort to make is usable by the larger community!
Welcome! I am very glad to hear that you'll be working on wavelet support (hey, that's actually a domain-specific pun :-), which I believe to be a very worthwhile endeavour! Regards Stéfan

Hi Sean, On Mon, Mar 2, 2009 at 8:25 PM, Sean Arms <lesserwhirls@gmail.com> wrote:
Greetings!
My name is Sean Arms and I'm a graduate student at the University of Oklahoma in the School of Meteorology. As part of my PhD research, I'm studying coherent structures in atmospheric boundary layer turbulence, primarily using in-situ observations and, secondarily, Direct Numerical Simulation (DNS) output. One common approach for detecting coherent structures in observational datasets relies on the use of the global wavelet power spectrum as estimated from a continuous wavelet transform (CWT). I know SciPy has a DWT impementation, and I've already been in contact with Filip. He recommeded that I post my code in hopes that it would add some momentum to the python-cwt development and create some feedback (I'm currently looking for a good place to post my code). I've implemented the CWT using pure python (that is, I did not write any C extension code myself - nothing to build), along with one mother wavelet (second derivitive of a Gaussian, or the Mexican Hat) - I'll be adding more Mother wavelets as I go along. I've made it a point to (try to) design my MotherWavelet class to be easily extendable. I'm working on documentation and a few tests at the moment, but so far my code compares well with other wavelet routines.
The point of this email is to introduce myself and let the SciPy dev community know that I am willing to help develop CWT support for SciPy - I'll already be doing the work for my research, so I might as well put in the extra effort to make is usable by the larger community!
If you are running on Linux someone here should be able to give you some pointers on using the git mirror and posting your code for review. There will be a howto page at some point... Chuck

Greeting Chuck, On Wed, Mar 4, 2009 at 2:09 AM, Charles R Harris <charlesr.harris@gmail.com> wrote:
Hi Sean,
On Mon, Mar 2, 2009 at 8:25 PM, Sean Arms <lesserwhirls@gmail.com> wrote:
Greetings!
My name is Sean Arms and I'm a graduate student at the University of Oklahoma in the School of Meteorology. As part of my PhD research, I'm studying coherent structures in atmospheric boundary layer turbulence, primarily using in-situ observations and, secondarily, Direct Numerical Simulation (DNS) output. One common approach for detecting coherent structures in observational datasets relies on the use of the global wavelet power spectrum as estimated from a continuous wavelet transform (CWT). I know SciPy has a DWT impementation, and I've already been in contact with Filip. He recommeded that I post my code in hopes that it would add some momentum to the python-cwt development and create some feedback (I'm currently looking for a good place to post my code). I've implemented the CWT using pure python (that is, I did not write any C extension code myself - nothing to build), along with one mother wavelet (second derivitive of a Gaussian, or the Mexican Hat) - I'll be adding more Mother wavelets as I go along. I've made it a point to (try to) design my MotherWavelet class to be easily extendable. I'm working on documentation and a few tests at the moment, but so far my code compares well with other wavelet routines.
The point of this email is to introduce myself and let the SciPy dev community know that I am willing to help develop CWT support for SciPy - I'll already be doing the work for my research, so I might as well put in the extra effort to make is usable by the larger community!
If you are running on Linux someone here should be able to give you some pointers on using the git mirror and posting your code for review. There will be a howto page at some point...
Chuck
I am running Linux and currently use SVN, but I do have GIT installed...GIT was something that I wanted to check out, so now I have the perfect reason! Sean

Wed, 04 Mar 2009 08:32:39 -0600, Sean Arms wrote: [clip]
I am running Linux and currently use SVN, but I do have GIT installed...GIT was something that I wanted to check out, so now I have the perfect reason!
This may be useful, albeit work-in-progress information: http://projects.scipy.org/numpy/wiki/GitMirror I'd suggest also adding an enhancement ticket in Scipy's Trac, http://projects.scipy.org/scipy so that we don't lose track of your work, and pasting the URL to your Git repository there. (Or just uploading your work as patches there, if you choose not to use Git. But this is more cumbersome.) Sending your patch to the code review tool http://codereview.appspot.com/ and sending the review URL to this list may also be useful to get feedback. The upload.py tool supports git: upload.py --rev=svn/trunk uploads the patch. -- Pauli Virtanen

Greetings! With the help of Pauli, I've created a git clone of the scipy tree and made a cwt branch. The branch is located at http://github.com/lesserwhirls/scipy-cwt/tree/cwt Here is an example using the cwt code with the Mexican Hat wavelet: ============== import numpy as np from scipy.signal import SDG, Morlet, cwt # create data array - number of tropical cyclones per year (1970-2006) in the # Northwest Australian region data = np.array([5,6,8,8,11,6,4,4,2,6,7,9,4,8,10,8,4,14,5,5,2,2,7,3,7,5,5,7,9,5,3,6,5,5,7]) # remove mean data = (data - data.mean()) # create the scales at which you wish to do the analysis scales = np.arange(1,15,0.1) # initialize the mother wavelet mother_wavelet = SDG(len_signal = len(data), pad_to = np.power(2,10), scales = scales) # perform continuous wavelet transform on `data` using `mother_wavelet` wavelet=cwt(data, mother_wavelet) # plot scalogram, wavelet power spectrum, and time series wavelet.scalogram(ts = data, show_coi = True, show_wps = True, use_period = True, ylog_base = 2) ============== I'll add an enhancement ticket in Scipy's Trac once I get some initial feedback. Cheers! Sean Arms Graduate Research Assistant School of Meteorology University of Oklahoma On Mon, Mar 2, 2009 at 10:25 PM, Sean Arms <lesserwhirls@gmail.com> wrote:
Greetings!
My name is Sean Arms and I'm a graduate student at the University of Oklahoma in the School of Meteorology. As part of my PhD research, I'm studying coherent structures in atmospheric boundary layer turbulence, primarily using in-situ observations and, secondarily, Direct Numerical Simulation (DNS) output. One common approach for detecting coherent structures in observational datasets relies on the use of the global wavelet power spectrum as estimated from a continuous wavelet transform (CWT). I know SciPy has a DWT impementation, and I've already been in contact with Filip. He recommeded that I post my code in hopes that it would add some momentum to the python-cwt development and create some feedback (I'm currently looking for a good place to post my code). I've implemented the CWT using pure python (that is, I did not write any C extension code myself - nothing to build), along with one mother wavelet (second derivitive of a Gaussian, or the Mexican Hat) - I'll be adding more Mother wavelets as I go along. I've made it a point to (try to) design my MotherWavelet class to be easily extendable. I'm working on documentation and a few tests at the moment, but so far my code compares well with other wavelet routines.
The point of this email is to introduce myself and let the SciPy dev community know that I am willing to help develop CWT support for SciPy - I'll already be doing the work for my research, so I might as well put in the extra effort to make is usable by the larger community!
Cheers!
Sean Arms Graduate Research Assistant School of Meteorology University of Oklahoma

Hi, Fri, 27 Mar 2009 13:44:31 -0500, Sean Arms wrote:
Here is an example using the cwt code with the Mexican Hat wavelet: [clip] I'll add an enhancement ticket in Scipy's Trac once I get some initial feedback.
A suggestion: write some documentation for this module as you go on. (And so be a good example for the rest of us, currently Scipy's documentation is not very good :) I suggest the following: - In doc/source/signal.rst add a new section "Continuous Wavelets" that contains an autosummary:: listing of the routines you have. Also add a line .. toctree:: signal.cwt.rst in this section - Create a new file, doc/source/signal.cwt.rst that contains - Maybe a brief summary of what's in the module. - Possibly some definitions that people need (probably best to assume that they have the necessary background knowledge). - Some examples of the use, for example that what you just posted. Code can be put on lines such as ">>> import numpy as np". If you want to include figures, just add the code that generates them like this: .. plot:: import matplotlib.pyplot as plt plt.plot([1,2,3,4], [5,6,7,8]) plt.show() - Some references. - Probably no need to worry if it builds with Sphinx at this stage if you don't have time to spare, the formatting can be fixed later on easily. -- Pauli Virtanen

Greetings! I just wanted to let everyone know that I've updated the CWT package and updated the TRAC ticket: (current version tagged as 0.2.1 on github). project git repo: http://github.com/lesserwhirls/scipy-cwt/tree/0.2.1 code review: http://codereview.appspot.com/154092/show (the old code review located at http://codereview.appspot.com/40099 is no longer valid). Cheers! Sean Arms Graduate Research Assistant School of Meteorology University of Oklahoma On Mon, Mar 2, 2009 at 9:25 PM, Sean Arms <lesserwhirls@gmail.com> wrote:
Greetings!
My name is Sean Arms and I'm a graduate student at the University of Oklahoma in the School of Meteorology. As part of my PhD research, I'm studying coherent structures in atmospheric boundary layer turbulence, primarily using in-situ observations and, secondarily, Direct Numerical Simulation (DNS) output. One common approach for detecting coherent structures in observational datasets relies on the use of the global wavelet power spectrum as estimated from a continuous wavelet transform (CWT). I know SciPy has a DWT impementation, and I've already been in contact with Filip. He recommeded that I post my code in hopes that it would add some momentum to the python-cwt development and create some feedback (I'm currently looking for a good place to post my code). I've implemented the CWT using pure python (that is, I did not write any C extension code myself - nothing to build), along with one mother wavelet (second derivitive of a Gaussian, or the Mexican Hat) - I'll be adding more Mother wavelets as I go along. I've made it a point to (try to) design my MotherWavelet class to be easily extendable. I'm working on documentation and a few tests at the moment, but so far my code compares well with other wavelet routines.
The point of this email is to introduce myself and let the SciPy dev community know that I am willing to help develop CWT support for SciPy - I'll already be doing the work for my research, so I might as well put in the extra effort to make is usable by the larger community!
Cheers!
Sean Arms Graduate Research Assistant School of Meteorology University of Oklahoma
participants (4)
-
Charles R Harris
-
Pauli Virtanen
-
Sean Arms
-
Stéfan van der Walt