Giter Site home page Giter Site logo

nikeshbajaj / spkit Goto Github PK

View Code? Open in Web Editor NEW
25.0 5.0 22.0 39.57 MB

Signal Processing Toolkit, including ML models with visualization

Home Page: https://spkit.github.io

License: MIT License

Python 100.00%
entropy logistic-regression decision-trees visualization naive-bayes lfsr signal-processing regression mutual mutual-information eeg-signals machine-learning predictive-modeling spkit information-theory dispersion-entropy fractional-fourier-transfrom sinusodal-model ramanujan period-estimation

spkit's Introduction

Signal Processing toolkit


CircleCI Documentation Status License: MIT PyPI version fury.io PyPI pyversions GitHub release PyPI format PyPI implementation HitCount GitHub commit activity Percentage of issues still open PyPI download month PyPI download week

Generic badge Ask Me Anything !

PyPI - Downloads

DOI


Installation

Requirement: numpy, matplotlib, scipy.stats, scikit-learn, seaborn

with pip

pip install spkit

update with pip

pip install spkit --upgrade

New in 0.0.9.5:

MEA Processing Toolkit

  • sp.mea

Geometrical Functions

  • sp.gemetry

More on signal processing

  • sp.core

Statistics

  • sp.stats

For updated list of contents and documentation check github or Documentation

List of all functions

Signal Processing Techniques

Information Theory functions

for real valued signals

  • Entropy

    • Shannon entropy
    • Rényi entropy of order α, Collision entropy,
    • Joint entropy
    • Conditional entropy
    • Mutual Information
    • Cross entropy
    • Kullback–Leibler divergence
    • Spectral Entropy
    • Approximate Entropy
    • Sample Entropy
    • Permutation Entropy
    • SVD Entropy
  • Plot histogram with optimal bin size

  • Computation of optimal bin size for histogram using FD-rule

  • Compute bin_width with various statistical measures

  • Plot Venn Diagram- joint distribuation and normalized entropy values

Dispersion Entropy --for time series (physiological signals)

  • Dispersion Entropy (Advanced) - for time series signal
    • Dispersion Entropy
    • Dispersion Entropy - multiscale
    • Dispersion Entropy - multiscale - refined

Matrix Decomposition

  • SVD
  • ICA using InfoMax, Extended-InfoMax, FastICA & Picard

Continuase Wavelet Transform

  • Gauss wavelet
  • Morlet wavelet
  • Gabor wavelet
  • Poisson wavelet
  • Maxican wavelet
  • Shannon wavelet

Discrete Wavelet Transform

  • Wavelet filtering
  • Wavelet Packet Analysis and Filtering

Basic Filtering

  • Removing DC/ Smoothing for multi-channel signals
  • Bandpass/Lowpass/Highpass/Bandreject filtering for multi-channel signals

Biomedical Signal Processing

MEA Processing Toolkit

Artifact Removal Algorithm

Analysis and Synthesis Models

  • DFT Analysis & Synthesis
  • STFT Analysis & Synthesis
  • Sinasodal Model - Analysis & Synthesis
    • to decompose a signal into sinasodal wave tracks
  • f0 detection

Ramanajum Methods for period estimation

  • Period estimation for a short length sequence using Ramanujam Filters Banks (RFB)
  • Minizing sparsity of periods

Fractional Fourier Transform

  • Fractional Fourier Transform
  • Fast Fractional Fourier Transform

Machine Learning models - with visualizations

  • Logistic Regression
  • Naive Bayes
  • Decision Trees
  • DeepNet (to be updated)

Linear Feedback Shift Register

  • pylfsr

Cite As

@software{nikesh_bajaj_2021_4710694,
  author       = {Nikesh Bajaj},
  title        = {Nikeshbajaj/spkit: 0.0.9.4},
  month        = apr,
  year         = 2022,
  publisher    = {Zenodo},
  version      = {0.0.9.4},
  doi          = {10.5281/zenodo.4710694},
  url          = {https://doi.org/10.5281/zenodo.4710694}
}

Contacts:

Imperial College London


spkit's People

Contributors

nikeshbajaj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

spkit's Issues

.

.

no spkit.cwt

Dear Nikeshbajaj, your toolkit is beautiful, but i have a little problem with spkit.cwt.
When import this, then an error: No module named 'spkit.cwt'

But the installation process it's ok.

thanks for any response
Tomas

Relative path importing

As pointed out by @mk-ling

To be fixed: relative path of 'core' and others too

Message:
First of all, thx for the contribution, I appreciate it. However, when I tried to import spkit from my project path(which also have a package named "core"), the import statements in spkit(eg. from core import xxx) locates to the "core" package in my project instead of the one in spkit. So I'd suggest to use relative import in such places that might have ambiguities(just like what numpy did if you look at their code). Other than this, spkit has been very helpful. Again, thx for the contribution from you guys.

Originally posted by @mk-ling in #7

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.