Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extending ssqueezepy #8

Open
OverLordGoldDragon opened this issue Oct 16, 2020 · 8 comments
Open

Extending ssqueezepy #8

OverLordGoldDragon opened this issue Oct 16, 2020 · 8 comments
Assignees
Labels
enhancement New feature or request

Comments

@OverLordGoldDragon
Copy link
Owner

OverLordGoldDragon commented Oct 16, 2020

NOTE: I'm no longer actively developing features for ssqueezepy. Requests can still be submitted, here if short, or as Issues if detailed. If I don't reply within a month, it's probably not happening. I may react with below emoji to confirm.

image

Contributions as Pull Requests are still welcome, but should mostly complete themselves.


Thread for tracking proposals for extending functionality.

1 checkmark = in progress; 2 = done

Status Description Code / Resources
1. [] [] padsignal: more methods in PyWavelets; pull?
2. [] [] padsignal: Interpolation, Fourier series extension
3. [] [] padsignal: Boundary wavelets are described as superior to zero-padding, periodic, and symmetric extensions
4. [] [] Generalized Morse wavelets "capture the essential idea of the Morlet, while avoiding its deficiencies ... may be recommended as an ideal starting point for general purpose use".
5. [x][x] Fast wavelets -- Implement wavelet recomputation in C or wrap `@numba.jit`
6. [] [] Cachelets -- Allow wavelets to be cached (on disk) for reuse; provide database of default-parameter wavelets computed for several common powers of 2
@OverLordGoldDragon OverLordGoldDragon added enhancement New feature or request help wanted Extra attention is needed labels Oct 16, 2020
@OverLordGoldDragon OverLordGoldDragon self-assigned this Oct 16, 2020
@OverLordGoldDragon
Copy link
Owner Author

OverLordGoldDragon commented Oct 18, 2020

2019 publication develops an adaptive SWT where the width of the wavelet is varied. This is further analyzed in a 2020 pub. Looks really interesting, seems to extend CWT's idea of varying the time-frequency basis (via scale) by a further degree (sigma here).

Add to ssqueezepy?

@OverLordGoldDragon
Copy link
Owner Author

OverLordGoldDragon commented Oct 21, 2020

Generalized Morse wavelets "capture the essential idea of the Morlet, while avoiding its deficiencies ... may be recommended as an ideal starting point for general purpose use". They're analytic, suitable for SSWT. Added to list, I might port/implement.

Below plots from 2009 paper; quality paper.

image

image

@OverLordGoldDragon
Copy link
Owner Author

OverLordGoldDragon commented Nov 19, 2020

MATLAB code for Adaptive CWT & SSWT. As far as I could tell, CWT is computed at least thrice, and it's for Morlets only. It would be a good addition, but I won't be porting.

@mattbit
Copy link

mattbit commented Nov 24, 2020

Hi @OverLordGoldDragon, interesting package! For Morse wavelets, I have coded a python version some time ago following the papers and code by Lilly & Olhede. It's quite rough and not thoroughly tested but I've been using it for some time and I get results comparable with the Matlab cwt implementation. Have a look and if you want I'm willing to integrate it here, if you could help me with reviewing the code, testing and adding missing functionalities.

@OverLordGoldDragon
Copy link
Owner Author

@mattbit Thanks for the offer; I've actually already implemented the wavelet, ported also from J-Lab, and will push it out after v0.5.0 (as I've yet to 'polish' it). Aside this and STFT, other additions are welcome - but best to ask just in case before putting effort into a PR.

@OverLordGoldDragon OverLordGoldDragon removed the help wanted Extra attention is needed label Jan 23, 2021
@OverLordGoldDragon
Copy link
Owner Author

Account for window shape in determining # of frames? #81 (comment)

@HiperMaximus
Copy link

What about exteding it for multidimensional data? 2D for images for example (maybe 3D for color images and volumes).

@OverLordGoldDragon
Copy link
Owner Author

@HiperMaximus Out of scope, I'm afraid. Also I'm no longer actively developing features, I've edited OP to reflect this.

Also my "adaptive SSQ" comment was before the drastic 0.6.0+ speedups, it now becomes feasible, and is worth developing (though I won't be).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

No branches or pull requests

3 participants