Skip to content

Commit

Permalink
Merge pull request #14 from MStarmans91/development
Browse files Browse the repository at this point in the history
Release 3.0.0
  • Loading branch information
MStarmans91 authored May 8, 2019
2 parents 1eee05b + 1711da6 commit 2c7a23c
Show file tree
Hide file tree
Showing 839 changed files with 163,060 additions and 5,871 deletions.
44 changes: 44 additions & 0 deletions .eggs/PyWavelets-1.0.0-py3.7-linux-x86_64.egg/EGG-INFO/PKG-INFO
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
Metadata-Version: 2.1
Name: PyWavelets
Version: 1.0.0
Summary: PyWavelets, wavelet transform module
Home-page: https://github.com/PyWavelets/pywt
Maintainer: The PyWavelets Developers
Maintainer-email: [email protected]
License: MIT
Download-URL: https://github.com/PyWavelets/pywt/releases
Keywords: wavelets,wavelet transform,DWT,SWT,CWT,scientific
Platform: Windows
Platform: Linux
Platform: Solaris
Platform: Mac OS-X
Platform: Unix
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: C
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: numpy (>=1.9.1)

PyWavelets is a Python wavelet transforms module that includes:

* nD Forward and Inverse Discrete Wavelet Transform (DWT and IDWT)
* 1D and 2D Forward and Inverse Stationary Wavelet Transform (Undecimated Wavelet Transform)
* 1D and 2D Wavelet Packet decomposition and reconstruction
* 1D Continuous Wavelet Tranfsorm
* Computing Approximations of wavelet and scaling functions
* Over 100 built-in wavelet filters and support for custom wavelets
* Single and double precision calculations
* Real and complex calculations
* Results compatible with Matlab Wavelet Toolbox (TM)


55 changes: 55 additions & 0 deletions .eggs/PyWavelets-1.0.0-py3.7-linux-x86_64.egg/EGG-INFO/RECORD
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
pywt/_swt.py,sha256=1RIJMRKbp5UhsCBR2YAPtc_DSYs7gGC2qMPVibY4ZWM,19624
pywt/_multidim.py,sha256=TE562UFNeNbeBR2b1BJG6Fvml-AzbEJ1vifEmXcwZ54,10897
pywt/_cwt.py,sha256=3OR5RZaOeHY90N5kGS0JSa0M4bEn4uSNkCmWMorPtQY,4038
pywt/_wavelet_packets.py,sha256=6LTs4Ft2cNH5g2RxrYglOg6x0UgYqBj2xJrXSkua84o,24286
pywt/__init__.py,sha256=vi7HuOCXrFugIjMpwf4SdkrwQgdrh2P-5Q1s3xd4YYA,1267
pywt/_thresholding.py,sha256=z2u-7EZT3fJ9RhuhPry8NBDqoqaEdoKMaEH7SE-TPU4,8636
pywt/version.py,sha256=s2fc0l59372892RGx3Uau-BHLyv9GKkn-jnWC4RwDfc,233
pywt/_dwt.py,sha256=QOKv7Pf21e8wIWU_Nn-OfnhbwWs-IjOCdIMQMCCnJ18,12327
pywt/_utils.py,sha256=NAe-KEOH7g_LTY3XbA860O0bgJDVaaPUz2WwYgS72k0,4028
pywt/_c99_config.py,sha256=LrMSEmGvgjoA5sE-BdpF7pUOXSNCfLfNUy6RG5z-6Bo,80
pywt/_multilevel.py,sha256=tkaAWvbuVdGDY2zCN36BABCJLmDOfL7HmqUdlY2joeI,54480
pywt/_doc_utils.py,sha256=aUdX1dIzCLitHsHx2N0Gz5SZQi1baMQvP4BYgJEjS1Y,9759
pywt/_functions.py,sha256=hvOQb4tn01j1s5_lNhbBBoCMeOvF1_3Q9mt0aEA1bI8,6999
pywt/_extensions/_dwt.cpython-37m-x86_64-linux-gnu.so,sha256=AIMtLj87MoDiujSITKilJTJWlAqYkXSIybpIMOVEFe4,475104
pywt/_extensions/_cwt.cpython-37m-x86_64-linux-gnu.so,sha256=r1UXLXcwCSyeLB_4YSo6Bjn5HObPhhTW7WYpQ28nYOs,290400
pywt/_extensions/_pywt.cpython-37m-x86_64-linux-gnu.so,sha256=UtMABFSN4zn4sZIPIhTXSNQp1WRSFCjfdQ1Q1oQdHrU,525344
pywt/_extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
pywt/_extensions/_swt.cpython-37m-x86_64-linux-gnu.so,sha256=GFCZGU36V7GQOy-znZuG1WWSmKCzQaTkZ93gm_6gmrE,367808
pywt/tests/test_dwt_idwt.py,sha256=Wgyv_q3b-kvrtjFBo_r4xv49u3uNb1kPA804ZbXBKvc,6684
pywt/tests/test_modes.py,sha256=zOI5bio5CyPNzD_-YwKWz4zi9LijMVBv1rjd-FHL6TQ,4947
pywt/tests/test_multilevel.py,sha256=OLNRoZh9oNxpfEQWhixJiZnjy-LJkMNnwFKlpIsTrj4,35728
pywt/tests/test_functions.py,sha256=R0WqvfAGvmSQ1KIg9J3qIxh6vVBLFPiN7RUx_Q-VpCs,1262
pywt/tests/test_cwt_wavelets.py,sha256=vPv7c62puMUTWbqnu34F-SKvzcpkTnNb9jL9Xst9Gjo,10730
pywt/tests/test_data.py,sha256=fh667448ThGV2N_CCptqAtvVhptkvfulKqfZN68-xTI,2365
pywt/tests/test_wp2d.py,sha256=SgbajDJ1mds0UnXenRweb9hHuEV7hPsFjuUdoPcRgAs,6547
pywt/tests/test_wavelet.py,sha256=d-ToUH7iUjkhqBt6sF6ZttRNweMDa8lca6JUlGhgvME,11270
pywt/tests/test_swt.py,sha256=2_zZe7FFXH2F-aNexwntNF1bDGvgp1qK385Ra6gzHEA,16561
pywt/tests/test_matlab_compatibility.py,sha256=6B8O6FqfRHxPmeA2y3nzhB0Ch4uwvqSLrfN-Bj2vh7Y,6595
pywt/tests/test_thresholding.py,sha256=fd3WN37wv_Tw2EWGmdYnQRMT9KleZTvIfbtOjOpNOX8,6632
pywt/tests/test_matlab_compatibility_cwt.py,sha256=OC7hOFIn1rUQQEMRh4T_Ykbt8Vh1-RpaoWmoDsroVqk,6592
pywt/tests/test__pywt.py,sha256=Q5fajcmem0AK_Uw0eqU0wpLH8I6zvkR7jPvalAsui5A,5568
pywt/tests/test_perfect_reconstruction.py,sha256=y1x5dfY02-P1Yg-_PxOnWHpMnA8HLWyrsvFKi8B45Ig,1871
pywt/tests/test_deprecations.py,sha256=iMCKWVcweJsJsYCuO7PhhEhcSrWcNzQ3LT5wtud2-LY,2290
pywt/tests/test_concurrent.py,sha256=ZChpcQIiIosAMmAmfSmwChnaSOfmVfPzLK6rCyYpldQ,4385
pywt/tests/test_doc.py,sha256=MNv2zeKOjNnqazIa4YL-7Y-jvkuNwKammH_ReWjjUO8,528
pywt/tests/test_multidim.py,sha256=kEgEVLl6UqyAuM7W_IY-iwo7Supb-O0lOlzbJ_-CdOo,14531
pywt/tests/test_wp.py,sha256=okUlJFwVBaX-5pTxIzVGO4yy9uyCcK_0HpLimDqG9MI,6284
pywt/tests/data/dwt_matlabR2012a_result.npz,sha256=H3zj71AxK1VbM7HZArX5El_qnfH_LLHAlVWj9eLhMmM,3590870
pywt/tests/data/generate_matlab_data.py,sha256=Spz3yi0kYJF9B1-nDTHhRDBwRexvyjoCT3iuNx7T4xc,3957
pywt/tests/data/generate_matlab_data_cwt.py,sha256=GJ7dW31zW2CmiLUzQP96uQ3CK2yTU4k4TF3tMEtFDWE,3238
pywt/tests/data/wavelab_test_signals.npz,sha256=-cx0ne9JdTcq6LiKBacjM_0_En72TAiKvvFUW1yiZYE,184818
pywt/tests/data/cwt_matlabR2015b_result.npz,sha256=FA1Tx-q_1k74bb7yERH_lq4hgZEVwdNP3RVm8lu-_Zw,1819506
pywt/data/_readers.py,sha256=PSkP5ejSNiHCtZkvv8xwjOVznIo_p-hixsq_oF_UloQ,4530
pywt/data/aero.npz,sha256=34YmNXmLrJQia4ko8iTajO-LDQBJLB_fSPrG36-XqUs,227784
pywt/data/__init__.py,sha256=qoDFVHX0RNi91n3UwC7UwYU3UGzbgdGD2OCH9zGJ8mo,96
pywt/data/ascent.npz,sha256=ptVryOllcdYSTzTO3rpJ8dNZlQf2yJCtm6U4VERU6Pc,170883
pywt/data/camera.npz,sha256=CfIDuSct94Yvk3GR4d897-G0VSeL6SG3omdrbmaGyoA,160418
pywt/data/create_dat.py,sha256=8BsF3dCoixafNSi5jxZnHdvK69FTH6dIGNJNIlv6c60,625
pywt/data/_wavelab_signals.py,sha256=7ay4VKhYkMsdrmrMm_FeBKrewzGzrwuoy6sO_RkR8vY,9476
pywt/data/ecg.npy,sha256=iS9GVe4jRwWTxs8c4X8Of0f2ywMBJKkvVQ5bFyrUPTk,4176
pywt/data/sst_nino3.npz,sha256=-vMX2TEULdISSSkMpmevDecdiZ5_I4Zk3zC2xB0Qz1c,64200
PyWavelets-1.0.0.dist-info/WHEEL,sha256=AhV6RMqZ2IDfreRJKo44QWYxYeP-0Jr0bezzBLQ1eog,109
PyWavelets-1.0.0.dist-info/top_level.txt,sha256=j3eDFZWsDkiyrSwsdc1H0AjhXkTzsuJLSx-blZUoOVo,5
PyWavelets-1.0.0.dist-info/METADATA,sha256=Nn1vdyBpGZ448eq3RP56sS8HO-Kcv8yo85fAvoI3G_s,1750
PyWavelets-1.0.0.dist-info/RECORD,,
5 changes: 5 additions & 0 deletions .eggs/PyWavelets-1.0.0-py3.7-linux-x86_64.egg/EGG-INFO/WHEEL
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.31.1)
Root-Is-Purelib: false
Tag: cp37-cp37m-manylinux1_x86_64

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
numpy>=1.9.1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pywt
45 changes: 45 additions & 0 deletions .eggs/PyWavelets-1.0.0-py3.7-linux-x86_64.egg/pywt/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# flake8: noqa

# Copyright (c) 2006-2012 Filip Wasilewski <http://en.ig.ma/>
# Copyright (c) 2012-2016 The PyWavelets Developers
# <https://github.com/PyWavelets/pywt>
# See COPYING for license details.

"""
Discrete forward and inverse wavelet transform, stationary wavelet transform,
wavelet packets signal decomposition and reconstruction module.
"""

from __future__ import division, print_function, absolute_import
from distutils.version import LooseVersion

from ._extensions._pywt import *
from ._functions import *
from ._multilevel import *
from ._multidim import *
from ._thresholding import *
from ._wavelet_packets import *
from ._dwt import *
from ._swt import *
from ._cwt import *

from . import data

__all__ = [s for s in dir() if not s.startswith('_')]
try:
# In Python 2.x the name of the tempvar leaks out of the list
# comprehension. Delete it to not make it show up in the main namespace.
del s
except NameError:
pass

from pywt.version import version as __version__

import numpy as np
if np.lib.NumpyVersion(np.__version__) >= '1.14.0':
from ._utils import is_nose_running
if is_nose_running():
np.set_printoptions(legacy='1.13')

from numpy.testing import Tester
test = Tester().test
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Autogenerated file containing compile-time definitions

_have_c99_complex = 1
107 changes: 107 additions & 0 deletions .eggs/PyWavelets-1.0.0-py3.7-linux-x86_64.egg/pywt/_cwt.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
import numpy as np

from ._extensions._pywt import (DiscreteContinuousWavelet, ContinuousWavelet,
Wavelet, _check_dtype)
from ._functions import integrate_wavelet, scale2frequency

__all__ = ["cwt"]


def cwt(data, scales, wavelet, sampling_period=1.):
"""
cwt(data, scales, wavelet)
One dimensional Continuous Wavelet Transform.
Parameters
----------
data : array_like
Input signal
scales : array_like
The wavelet scales to use. One can use
``f = scale2frequency(scale, wavelet)/sampling_period`` to determine
what physical frequency, ``f``. Here, ``f`` is in hertz when the
``sampling_period`` is given in seconds.
wavelet : Wavelet object or name
Wavelet to use
sampling_period : float
Sampling period for the frequencies output (optional).
The values computed for ``coefs`` are independent of the choice of
``sampling_period`` (i.e. ``scales`` is not scaled by the sampling
period).
Returns
-------
coefs : array_like
Continuous wavelet transform of the input signal for the given scales
and wavelet
frequencies : array_like
If the unit of sampling period are seconds and given, than frequencies
are in hertz. Otherwise, a sampling period of 1 is assumed.
Notes
-----
Size of coefficients arrays depends on the length of the input array and
the length of given scales.
Examples
--------
>>> import pywt
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> x = np.arange(512)
>>> y = np.sin(2*np.pi*x/32)
>>> coef, freqs=pywt.cwt(y,np.arange(1,129),'gaus1')
>>> plt.matshow(coef) # doctest: +SKIP
>>> plt.show() # doctest: +SKIP
----------
>>> import pywt
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> t = np.linspace(-1, 1, 200, endpoint=False)
>>> sig = np.cos(2 * np.pi * 7 * t) + np.real(np.exp(-7*(t-0.4)**2)*np.exp(1j*2*np.pi*2*(t-0.4)))
>>> widths = np.arange(1, 31)
>>> cwtmatr, freqs = pywt.cwt(sig, widths, 'mexh')
>>> plt.imshow(cwtmatr, extent=[-1, 1, 1, 31], cmap='PRGn', aspect='auto',
... vmax=abs(cwtmatr).max(), vmin=-abs(cwtmatr).max()) # doctest: +SKIP
>>> plt.show() # doctest: +SKIP
"""

# accept array_like input; make a copy to ensure a contiguous array
dt = _check_dtype(data)
data = np.array(data, dtype=dt)
if not isinstance(wavelet, (ContinuousWavelet, Wavelet)):
wavelet = DiscreteContinuousWavelet(wavelet)
if np.isscalar(scales):
scales = np.array([scales])
if data.ndim == 1:
if wavelet.complex_cwt:
out = np.zeros((np.size(scales), data.size), dtype=complex)
else:
out = np.zeros((np.size(scales), data.size))
precision = 10
int_psi, x = integrate_wavelet(wavelet, precision=precision)
for i in np.arange(np.size(scales)):
step = x[1] - x[0]
j = np.floor(
np.arange(scales[i] * (x[-1] - x[0]) + 1) / (scales[i] * step))
if np.max(j) >= np.size(int_psi):
j = np.delete(j, np.where((j >= np.size(int_psi)))[0])
coef = - np.sqrt(scales[i]) * np.diff(
np.convolve(data, int_psi[j.astype(np.int)][::-1]))
d = (coef.size - data.size) / 2.
if d > 0:
out[i, :] = coef[int(np.floor(d)):int(-np.ceil(d))]
elif d == 0.:
out[i, :] = coef
else:
raise ValueError(
"Selected scale of {} too small.".format(scales[i]))
frequencies = scale2frequency(wavelet, scales, precision)
if np.isscalar(frequencies):
frequencies = np.array([frequencies])
for i in np.arange(len(frequencies)):
frequencies[i] /= sampling_period
return out, frequencies
else:
raise ValueError("Only dim == 1 supportet")
Loading

0 comments on commit 2c7a23c

Please sign in to comment.