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

Method __init__

pywt/_wavelet_packets.py:961–1003  ·  view source on GitHub ↗
(self, data, wavelet, mode='smooth', maxlevel=None,
                 axes=None)

Source from the content-addressed store, hash-verified

959 axes.
960 """
961 def __init__(self, data, wavelet, mode='smooth', maxlevel=None,
962 axes=None):
963 if (data is None) and (axes is None):
964 # ndim is required to create a NodeND object
965 raise ValueError("If data is None, axes must be specified")
966
967 # axes determines the number of transform dimensions
968 if axes is None:
969 axes = range(data.ndim)
970 elif np.isscalar(axes):
971 axes = (axes, )
972 axes = tuple(axes)
973 if len(np.unique(axes)) != len(axes):
974 raise ValueError("Expected a set of unique axes.")
975 ndim_transform = len(axes)
976
977 if data is not None:
978 data = np.asarray(data)
979 if data.ndim == 0:
980 raise ValueError("data must be at least 1D")
981 ndim = data.ndim
982 else:
983 ndim = len(axes)
984
985 super().__init__(None, data, "", ndim,
986 ndim_transform)
987 if not isinstance(wavelet, Wavelet):
988 wavelet = Wavelet(wavelet)
989 self.wavelet = wavelet
990 self.mode = mode
991 self.axes = axes
992 self.ndim_transform = ndim_transform
993 if data is not None:
994 if data.ndim < len(axes):
995 raise ValueError("The number of axes exceeds the number of "
996 "data dimensions.")
997 self.data_size = data.shape
998 transform_size = [data.shape[ax] for ax in self.axes]
999 if maxlevel is None:
1000 maxlevel = dwt_max_level(min(transform_size), self.wavelet)
1001 else:
1002 self.data_size = None
1003 self._maxlevel = maxlevel
1004
1005 def reconstruct(self, update=True):
1006 """

Callers

nothing calls this directly

Calls 2

dwt_max_levelFunction · 0.90
__init__Method · 0.45

Tested by

no test coverage detected