Awesome
scaleogram
Scaleogram is a user friendly plot tool for 1D data analysis with Continuous Wavelet Transform built on the PyWavelets library.
I started this project when realizing how harsh it can be to build nice plots of wavelets scaleogram with axes ticks and labels consistent with the actual location of features. Hence this module aim to provide a reliable tool for either quick data analysis or publication.
It has the following features:
-
simple call signature for complete beginners
-
readable axes and clean matplotlib integration
-
many options for changing scale, spectrum filter, colorbar integration, etc...
-
support for periodicity and frequency units, consistent with labelling
-
speed, uses a N*log(N) algorithm for transforms
-
portability: tested with python2.7 and python3.7
-
comprehensive error messages and documentation with examples
-
support for Cone Of Influence mask
Install with pip
Installation should be straightforward with
pip install scaleogram
Install from github
git clone http://github.com/alsauve/scaleogram
cd scaleogram
python ./setup.py install --user
Prerequisites
This module depends on
- PyWavelet >= 1.0
- matplotlib >= 2.0
- numpy >= 1.0
Documentation
A lot of documentation and examples are available online from the docstrings
Jupyter notebook are also provided for quickstarting
- A gentle introduction to CWT based data analysis [TODO]
- scale to frequency relationship
- Example of scaleogram with the NINO3.4 SST seasonal time series
- Graphical output of the test set
Running the tests
A features test matrix can be plotted with
# launch graphical tests
python -m scaleogram.test
Built With
- ViM - The editor
- Spyder - The Scientific Python Developement Environment
- Jupyter - The Jupyter Notebook
Realeases
See the Releases page.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Alexandre sauve - Initial work - Scaleogram
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgments
- The team behind PyWavelet for their nice job into making wavelet transform available
- The Matlab environement for inspiration and good documentation
- Mabel Calim Costa for the waipy package and inspiration