Giter Site home page Giter Site logo

scaleogram's Introduction

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

Example

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

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

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

scaleogram's People

Contributors

alsauve avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.