Closed pavleb closed 2 years ago
Yes, it is not easy to integrate wavelets defined in the frequency domain in the existing CWT code. It would probably be best in that case to just have a new FFT-based CWT. The main issue is that our original contributor of CWT code is no longer active here and I personally have expertise mostly with the discrete wavelet transforms.
There was some past discussion of this wavelet in #421 which points to an implementation in: https://github.com/aaren/wavelets There is also PyTorch-based code here: https://github.com/tomrunia/PyTorchWavelets
Have you looked into either these or other existing implementations to determine what value could be added by making another implementation here?
There's more discussion on generalized Morse wavelets in gh-544. From checking different sources, "Morse wavelet" and "generalized Morse wavelet" appear to be the exact same thing, terminology is just inconsistently used. https://www.mathworks.com/help/wavelet/ug/morse-wavelets.html for example uses these terms interchangeably.
gh-544 is older and has more discussion, so I will close this as a duplicate. Thanks @pavleb and @grlee77.
Regarding complex analytical wavelets the Morse wavelet is currently among the best ones with respect to accuracy and spectral leakage for ultra low frequencies. The biggest issue is that the close form exists in frequency domain. As far as I could see the implementation of the mother wavelets in cwt.template.c requires time-domain representation of the mother wavelet.
Could you please advise how to proceed with implementation of mother wavelets that have closed form only in frequency domain? I guess this is a little outside of the current development framework so before starting the implementation I would like to consult with the development team on the guidelines.