From 5018de9d5182f760ba8b11d359f4ac3751999f6f Mon Sep 17 00:00:00 2001 From: Shawn Wills Date: Fri, 8 Sep 2017 22:28:20 -0700 Subject: [PATCH] Make wavelet_transform a writable attribute. That allows, for instance, reconstruction to be used with an altered wavelet_transform. --- wavelets/transform.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/wavelets/transform.py b/wavelets/transform.py index aef2131..0c4f33e 100644 --- a/wavelets/transform.py +++ b/wavelets/transform.py @@ -367,6 +367,16 @@ def w_k(self): @property def wavelet_transform(self): + if not hasattr(self, '_wavelet_transform'): + return self.transform() + else: + return self._wavelet_transform + + @wavelet_transform.setter + def wavelet_transform(self, value): + setattr(self, '_wavelet_transform', value) + + def transform(self): """Calculate the wavelet transform.""" widths = self.scales @@ -375,12 +385,14 @@ def wavelet_transform(self): else: wavelet = self.wavelet.time - return self.cwt(self.anomaly_data, - wavelet=wavelet, - widths=widths, - dt=self.dt, - frequency=self.frequency, - axis=self.axis) + self.wavelet_transform = self.cwt(self.anomaly_data, + wavelet=wavelet, + widths=widths, + dt=self.dt, + frequency=self.frequency, + axis=self.axis) + + return self.wavelet_transform @property def wavelet_power(self):