MCPcopy Create free account
hub / github.com/PyWavelets/pywt / WaveletPacket

Class WaveletPacket

pywt/_wavelet_packets.py:683–806  ·  view source on GitHub ↗

Data structure representing Wavelet Packet decomposition of signal. Parameters ---------- data : 1D ndarray Original data (signal) wavelet : Wavelet object or name string Wavelet used in DWT decomposition and reconstruction mode : str, optional Signa

Source from the content-addressed store, hash-verified

681
682
683class WaveletPacket(Node):
684 """
685 Data structure representing Wavelet Packet decomposition of signal.
686
687 Parameters
688 ----------
689 data : 1D ndarray
690 Original data (signal)
691 wavelet : Wavelet object or name string
692 Wavelet used in DWT decomposition and reconstruction
693 mode : str, optional
694 Signal extension mode for the `dwt` and `idwt` decomposition and
695 reconstruction functions.
696 maxlevel : int, optional
697 Maximum level of decomposition.
698 If None, it will be calculated based on the `wavelet` and `data`
699 length using `pywt.dwt_max_level`.
700 axis : int, optional
701 The axis to transform.
702 """
703 def __init__(self, data, wavelet, mode='symmetric', maxlevel=None,
704 axis=-1):
705 super().__init__(None, data, "")
706
707 if not isinstance(wavelet, Wavelet):
708 wavelet = Wavelet(wavelet)
709 self.wavelet = wavelet
710 self.mode = mode
711 self.axes = axis # self.axes is just an integer for 1D transforms
712
713 if data is not None:
714 data = np.asarray(data)
715 if self.axes < 0:
716 self.axes = self.axes + data.ndim
717 if not 0 <= self.axes < data.ndim:
718 raise ValueError("Axis greater than data dimensions")
719 self.data_size = data.shape
720 if maxlevel is None:
721 maxlevel = dwt_max_level(data.shape[self.axes], self.wavelet)
722 else:
723 self.data_size = None
724
725 self._maxlevel = maxlevel
726
727 def __reduce__(self):
728 return (WaveletPacket,
729 (self.data, self.wavelet, self.mode, self.maxlevel))
730
731 def reconstruct(self, update=True):
732 """
733 Reconstruct data value using coefficients from subnodes.
734
735 Parameters
736 ----------
737 update : bool, optional
738 If True (default), then data values will be replaced by
739 reconstruction values, also in subnodes.
740 """

Calls

no outgoing calls

Tested by

no test coverage detected