Re: [SciPy-Dev] Dev suggestion: expand signal.slepian functions (Virginia Frey)
On Sun, 8 Apr 2018 08:14:47 +1000, Virginia Frey wrote:
The current implementation of Slepians in scipy's signal module only offers the zeroth order, so it is not possible to use for e.g. the multitaper spectral analysis. In addition to that, because of the way the eigensystem is solved, it breaks with a MemoryError when using high numbers of points (i.e. a few thousand). The request for high numbers of points is not unreasonable: people do take long time-traces and the FFT makes it possible to compute Fourier transforms on those.
In SciPy 1.1.0, windows.slepian will be deprecated and replaced by windows.dpss : https://scipy.github.io/devdocs/generated/scipy.signal.windows.dpss.html https://github.com/scipy/scipy/pull/7802 https://github.com/scipy/scipy/issues/4354 Does that do what you want? I have working code for this, which is based on the implementation
suggested in [5] but is in pure Python.
Aren't there copyright/license issues with using code from Numerical Recipes?
Once we have the full set of Slepians available, from there we (or I) could also implement the multitaper spectral analysis technique
That would be useful!
So, what do you guys think of my proposal? If you like it, please advise me on how to proceed as this is the first time I'm planning to contribute. From what I took of the web page, I'll start by downloading the repo - and then should I make a new branch? I'm also happy to send some code through via email for your review first.
Can you read through https://github.com/scipy/scipy/pull/7802 and comment if you see a problem with it, or it doesn't do all that you would want it to do? Also we were a little confused about how best to normalize the amplitude of the functions. In your work, do you use the L2 norm?
Hey, Thanks, I didn't see that. This is actually exactly what I wanted, so that's great! In my work I normalise the DPSS by their area because I need them all to have the same integrated spectral weight. I'll have another look at the multitaper technique and maybe I'll come across a different form of modulation there, in which case I'd let you know. Thanks again, Virginia On 08/04/18 23:29, 3ukip0s02@sneakemail.com wrote:
On Sun, 8 Apr 2018 08:14:47 +1000, Virginia Frey wrote:
The current implementation of Slepians in scipy's signal module only offers the zeroth order, so it is not possible to use for e.g. the multitaper spectral analysis. In addition to that, because of the way the eigensystem is solved, it breaks with a MemoryError when using high numbers of points (i.e. a few thousand). The request for high numbers of points is not unreasonable: people do take long time-traces and the FFT makes it possible to compute Fourier transforms on those.
In SciPy 1.1.0, windows.slepian will be deprecated and replaced by windows.dpss :
https://scipy.github.io/devdocs/generated/scipy.signal.windows.dpss.html <https://scipy.github.io/devdocs/generated/scipy.signal.windows.dpss.html> https://github.com/scipy/scipy/pull/7802 <https://github.com/scipy/scipy/pull/7802> https://github.com/scipy/scipy/issues/4354 <https://github.com/scipy/scipy/issues/4354>
Does that do what you want?
I have working code for this, which is based on the implementation suggested in [5] but is in pure Python.
Aren't there copyright/license issues with using code from Numerical Recipes?
Once we have the full set of Slepians available, from there we (or I) could also implement the multitaper spectral analysis technique
That would be useful!
So, what do you guys think of my proposal? If you like it, please advise me on how to proceed as this is the first time I'm planning to contribute. From what I took of the web page, I'll start by downloading the repo - and then should I make a new branch? I'm also happy to send some code through via email for your review first.
Can you read through https://github.com/scipy/scipy/pull/7802 <https://github.com/scipy/scipy/pull/7802> and comment if you see a problem with it, or it doesn't do all that you would want it to do?
Also we were a little confused about how best to normalize the amplitude of the functions. In your work, do you use the L2 norm?
_______________________________________________ SciPy-Dev mailing list SciPy-Dev@python.org https://mail.python.org/mailman/listinfo/scipy-dev
participants (2)
-
3ukip0s02@sneakemail.com
-
Virginia Frey