(self, data, wavelet, mode='smooth', maxlevel=None,
axes=(-2, -1))
| 827 | The axes that will be transformed. |
| 828 | """ |
| 829 | def __init__(self, data, wavelet, mode='smooth', maxlevel=None, |
| 830 | axes=(-2, -1)): |
| 831 | super().__init__(None, data, "") |
| 832 | |
| 833 | if not isinstance(wavelet, Wavelet): |
| 834 | wavelet = Wavelet(wavelet) |
| 835 | self.wavelet = wavelet |
| 836 | self.mode = mode |
| 837 | self.axes = tuple(axes) |
| 838 | if len(np.unique(self.axes)) != 2: |
| 839 | raise ValueError("Expected two unique axes.") |
| 840 | if data is not None: |
| 841 | data = np.asarray(data) |
| 842 | if data.ndim < 2: |
| 843 | raise ValueError( |
| 844 | "WaveletPacket2D requires data with 2 or more dimensions.") |
| 845 | self.data_size = data.shape |
| 846 | transform_size = [data.shape[ax] for ax in self.axes] |
| 847 | if maxlevel is None: |
| 848 | maxlevel = dwt_max_level(min(transform_size), self.wavelet) |
| 849 | else: |
| 850 | self.data_size = None |
| 851 | self._maxlevel = maxlevel |
| 852 | |
| 853 | def __reduce__(self): |
| 854 | return (WaveletPacket2D, |
nothing calls this directly
no test coverage detected