From 75dfbe59adbd772046c3425109a8aae7bf05f769 Mon Sep 17 00:00:00 2001 From: Rodrigo Nemmen Date: Fri, 3 Mar 2017 21:47:43 -0300 Subject: [PATCH] Added option to reconstruction method for allowing to remove frequencies Now you can filter out frequencies in the CWT and see how the reconstructed signal changes. When calling reconstruction, just provide the argument `wave` with the new wavelet_transform array. Set the elements corresponding to the frequencies you are not interested to zero. --- wavelets/transform.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/wavelets/transform.py b/wavelets/transform.py index aef2131..f78a048 100644 --- a/wavelets/transform.py +++ b/wavelets/transform.py @@ -393,7 +393,7 @@ def wavelet_power(self): elif not self.unbias: return np.abs(self.wavelet_transform) ** 2 - def reconstruction(self, scales=None): + def reconstruction(self, scales=None, wave=None): """Reconstruct the original signal from the wavelet transform. See S3.i. @@ -411,6 +411,8 @@ def reconstruction(self, scales=None): function from its wavelet transform using the wavelet function Y_0. This C_d is a constant for each wavelet function. + + :param wave: custom wavelet_transform array for reconstructing a signal omitting some frequencies, if desired. """ dj = self.dj dt = self.dt @@ -421,7 +423,10 @@ def reconstruction(self, scales=None): self.scales = scales s = self.scales - W_n = self.wavelet_transform + if wave is None: + W_n = self.wavelet_transform + else: + W_n = wave if scales is not None: self.scales = old_scales