# Signal Processing toolkit
### Links: **[Homepage](https://spkit.github.io)** | **[Documentation](https://spkit.readthedocs.io/)** | **[Github](https://github.com/Nikeshbajaj/spkit)** | **[PyPi - project](https://pypi.org/project/spkit/)** | _ **Installation:** [pip install spkit](https://pypi.org/project/spkit/)
-----
![CircleCI](https://img.shields.io/circleci/build/github/Nikeshbajaj/spkit)
[![Documentation Status](https://readthedocs.org/projects/spkit/badge/?version=latest)](https://spkit.readthedocs.io/en/latest/?badge=latest)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PyPI version fury.io](https://badge.fury.io/py/spkit.svg)](https://pypi.org/project/spkit/)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/spkit.svg)](https://pypi.python.org/pypi/spkit/)
[![GitHub release](https://img.shields.io/github/release/nikeshbajaj/spkit.svg)](https://GitHub.com/nikeshbajaj/spkit/releases/)
[![PyPI format](https://img.shields.io/pypi/format/spkit.svg)](https://pypi.python.org/pypi/spkit/)
[![PyPI implementation](https://img.shields.io/pypi/implementation/spkit.svg)](https://pypi.python.org/pypi/spkit/)
[![HitCount](http://hits.dwyl.io/nikeshbajaj/spkit.svg)](http://hits.dwyl.io/nikeshbajaj/spkit)
![GitHub commit activity](https://img.shields.io/github/commit-activity/y/nikeshbajaj/spkit?style=plastic)
[![Percentage of issues still open](http://isitmaintained.com/badge/open/nikeshbajaj/spkit.svg)](http://isitmaintained.com/project/nikeshbajaj/spkit "Percentage of issues still open")
[![PyPI download month](https://img.shields.io/pypi/dm/spkit.svg)](https://pypi.org/project/spkit/)
[![PyPI download week](https://img.shields.io/pypi/dw/spkit.svg)](https://pypi.org/project/spkit/)
[![Generic badge](https://img.shields.io/badge/pip%20install-spkit-blue.svg)](https://pypi.org/project/spkit/)
[![Ask Me Anything !](https://img.shields.io/badge/Ask%20me-anything-1abc9c.svg)](mailto:n.bajaj@qmul.ac.uk)
![PyPI - Downloads](https://img.shields.io/pypi/dm/spkit?style=social)
[![DOI](https://raw.githubusercontent.com/Nikeshbajaj/spkit/master/figures/zenodo.4710694.svg)](https://doi.org/10.5281/zenodo.4710694)
<!--[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4710694.svg)](https://doi.org/10.5281/zenodo.4710694)
<a href="https://doi.org/10.5281/zenodo.4710694"><img src="https://zenodo.org/badge/DOI/10.5281/zenodo.4710694.svg" alt="DOI"></a>
-->
-----
## 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.7:
## MEA Processing Toolkit
# 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](https://GitHub.com/nikeshbajaj/spkit) or [Documentation](https://spkit.readthedocs.io/)
# 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**
* **ATAR Algorithm** [Automatic and Tunable Artifact Removal Algorithm for EEG from artical](https://www.sciencedirect.com/science/article/pii/S1746809419302058)
* **ICA based Algorith**
## 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:
* **Nikesh Bajaj**
* http://nikeshbajaj.in
* n.bajaj[AT]qmul.ac.uk, n.bajaj[AT]imperial[dot]ac[dot]uk
### Imperial College London
______________________________________
Raw data
{
"_id": null,
"home_page": "https://spkit.github.io",
"name": "spkit",
"maintainer": "Nikesh Bajaj",
"docs_url": null,
"requires_python": ">=3.5",
"maintainer_email": "nikkeshbajaj@gmail.com",
"keywords": "Signal processing machine-learning entropy R\u00e9nyi Kullback\u2013Leibler divergence mutual information decision-tree logistic-regression naive-bayes LFSR ICA EEG-signal-processing ATAR",
"author": "Nikesh Bajaj",
"author_email": "nikkeshbajaj@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/54/a8/c970267329672d160137c93e25297d1bff1e00c835279f371bfc14b3f101/spkit-0.0.9.6.7.tar.gz",
"platform": "any",
"description": "# Signal Processing toolkit\n\n### Links: **[Homepage](https://spkit.github.io)** | **[Documentation](https://spkit.readthedocs.io/)** | **[Github](https://github.com/Nikeshbajaj/spkit)** | **[PyPi - project](https://pypi.org/project/spkit/)** | _ **Installation:** [pip install spkit](https://pypi.org/project/spkit/)\n-----\n![CircleCI](https://img.shields.io/circleci/build/github/Nikeshbajaj/spkit)\n[![Documentation Status](https://readthedocs.org/projects/spkit/badge/?version=latest)](https://spkit.readthedocs.io/en/latest/?badge=latest)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![PyPI version fury.io](https://badge.fury.io/py/spkit.svg)](https://pypi.org/project/spkit/)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/spkit.svg)](https://pypi.python.org/pypi/spkit/)\n[![GitHub release](https://img.shields.io/github/release/nikeshbajaj/spkit.svg)](https://GitHub.com/nikeshbajaj/spkit/releases/)\n[![PyPI format](https://img.shields.io/pypi/format/spkit.svg)](https://pypi.python.org/pypi/spkit/)\n[![PyPI implementation](https://img.shields.io/pypi/implementation/spkit.svg)](https://pypi.python.org/pypi/spkit/)\n[![HitCount](http://hits.dwyl.io/nikeshbajaj/spkit.svg)](http://hits.dwyl.io/nikeshbajaj/spkit)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/y/nikeshbajaj/spkit?style=plastic)\n[![Percentage of issues still open](http://isitmaintained.com/badge/open/nikeshbajaj/spkit.svg)](http://isitmaintained.com/project/nikeshbajaj/spkit \"Percentage of issues still open\")\n[![PyPI download month](https://img.shields.io/pypi/dm/spkit.svg)](https://pypi.org/project/spkit/)\n[![PyPI download week](https://img.shields.io/pypi/dw/spkit.svg)](https://pypi.org/project/spkit/)\n\n\n[![Generic badge](https://img.shields.io/badge/pip%20install-spkit-blue.svg)](https://pypi.org/project/spkit/)\n[![Ask Me Anything !](https://img.shields.io/badge/Ask%20me-anything-1abc9c.svg)](mailto:n.bajaj@qmul.ac.uk)\n\n![PyPI - Downloads](https://img.shields.io/pypi/dm/spkit?style=social)\n\n[![DOI](https://raw.githubusercontent.com/Nikeshbajaj/spkit/master/figures/zenodo.4710694.svg)](https://doi.org/10.5281/zenodo.4710694)\n\n<!--[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4710694.svg)](https://doi.org/10.5281/zenodo.4710694)\n<a href=\"https://doi.org/10.5281/zenodo.4710694\"><img src=\"https://zenodo.org/badge/DOI/10.5281/zenodo.4710694.svg\" alt=\"DOI\"></a>\n-->\n\n-----\n\n## Installation\n\n**Requirement**: numpy, matplotlib, scipy.stats, scikit-learn, seaborn\n\n### with pip\n\n```\npip install spkit\n```\n\n### update with pip\n\n```\npip install spkit --upgrade\n```\n# New in 0.0.9.7:\n## MEA Processing Toolkit\n\n# New in 0.0.9.5:\n## MEA Processing Toolkit\n * sp.mea\n## Geometrical Functions\n * sp.gemetry\n## More on signal processing\n * sp.core\n## Statistics\n * sp.stats\n\n\n\n# For updated list of contents and documentation check [github](https://GitHub.com/nikeshbajaj/spkit) or [Documentation](https://spkit.readthedocs.io/)\n\n# List of all functions\n# Signal Processing Techniques\n## **Information Theory functions**\n **for real valued signals**\n * Entropy\n * Shannon entropy\n * R\u00e9nyi entropy of order \u03b1, Collision entropy,\n * Joint entropy\n * Conditional entropy\n * Mutual Information\n * Cross entropy\n * Kullback\u2013Leibler divergence\n * Spectral Entropy\n * Approximate Entropy\n * Sample Entropy\n * Permutation Entropy\n * SVD Entropy\n\n* Plot histogram with optimal bin size\n* Computation of optimal bin size for histogram using FD-rule\n* Compute bin_width with various statistical measures\n* Plot Venn Diagram- joint distribuation and normalized entropy values\n\n## **Dispersion Entropy** --**for time series (physiological signals)**\n* **Dispersion Entropy** (Advanced) - for time series signal\n * Dispersion Entropy\n * Dispersion Entropy - multiscale\n * Dispersion Entropy - multiscale - refined\n\n\n## **Matrix Decomposition**\n* SVD\n* ICA using InfoMax, Extended-InfoMax, FastICA & **Picard**\n\n## **Continuase Wavelet Transform**\n* Gauss wavelet\n* Morlet wavelet\n* Gabor wavelet\n* Poisson wavelet\n* Maxican wavelet\n* Shannon wavelet\n\n## **Discrete Wavelet Transform**\n* Wavelet filtering\n* Wavelet Packet Analysis and Filtering\n\n## **Basic Filtering**\n* Removing DC/ Smoothing for multi-channel signals\n* Bandpass/Lowpass/Highpass/Bandreject filtering for multi-channel signals\n\n## Biomedical Signal Processing\n\n### MEA Processing Toolkit\n\n**Artifact Removal Algorithm**\n* **ATAR Algorithm** [Automatic and Tunable Artifact Removal Algorithm for EEG from artical](https://www.sciencedirect.com/science/article/pii/S1746809419302058)\n* **ICA based Algorith**\n\n## Analysis and Synthesis Models\n* **DFT Analysis & Synthesis**\n* **STFT Analysis & Synthesis**\n* **Sinasodal Model - Analysis & Synthesis**\n - to decompose a signal into sinasodal wave tracks\n* **f0 detection**\n\n## Ramanajum Methods for period estimation\n* **Period estimation for a short length sequence using Ramanujam Filters Banks (RFB)**\n* **Minizing sparsity of periods**\n\n## Fractional Fourier Transform\n* **Fractional Fourier Transform**\n* **Fast Fractional Fourier Transform**\n\n\n\n## Machine Learning models - with visualizations\n* Logistic Regression\n* Naive Bayes\n* Decision Trees\n* DeepNet (to be updated)\n\n## **Linear Feedback Shift Register**\n* pylfsr\n\n\n\n\n\n\n# Cite As\n```\n@software{nikesh_bajaj_2021_4710694,\n author = {Nikesh Bajaj},\n title = {Nikeshbajaj/spkit: 0.0.9.4},\n month = apr,\n year = 2022,\n publisher = {Zenodo},\n version = {0.0.9.4},\n doi = {10.5281/zenodo.4710694},\n url = {https://doi.org/10.5281/zenodo.4710694}\n}\n```\n# Contacts:\n\n* **Nikesh Bajaj**\n* http://nikeshbajaj.in\n* n.bajaj[AT]qmul.ac.uk, n.bajaj[AT]imperial[dot]ac[dot]uk\n### Imperial College London\n______________________________________\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "SpKit: Signal Processing ToolKit",
"version": "0.0.9.6.7",
"project_urls": {
"Documentation": "https://spkit.readthedocs.io/",
"Download": "https://github.com/Nikeshbajaj/spkit/tarball/0.0.9.6.7",
"Homepage": "https://spkit.github.io",
"Say Thanks!": "https://github.com/Nikeshbajaj",
"Source": "https://github.com/Nikeshbajaj/spkit",
"Tracker": "https://github.com/Nikeshbajaj/spkit/issues"
},
"split_keywords": [
"signal",
"processing",
"machine-learning",
"entropy",
"r\u00e9nyi",
"kullback\u2013leibler",
"divergence",
"mutual",
"information",
"decision-tree",
"logistic-regression",
"naive-bayes",
"lfsr",
"ica",
"eeg-signal-processing",
"atar"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4249af1b4293dae5063979d8628ae6c898058227091d713d54e11b121fcf21c4",
"md5": "c18f86c54fca6747f9094dc7c2d23141",
"sha256": "6057b4c7468fb64d602c1fadb230f505785a4d7a195eb52b88899ad3d711b333"
},
"downloads": -1,
"filename": "spkit-0.0.9.6.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c18f86c54fca6747f9094dc7c2d23141",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.5",
"size": 1555038,
"upload_time": "2023-11-14T22:15:07",
"upload_time_iso_8601": "2023-11-14T22:15:07.545947Z",
"url": "https://files.pythonhosted.org/packages/42/49/af1b4293dae5063979d8628ae6c898058227091d713d54e11b121fcf21c4/spkit-0.0.9.6.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "54a8c970267329672d160137c93e25297d1bff1e00c835279f371bfc14b3f101",
"md5": "fd2254ede41c7594e3b142fe79c45be9",
"sha256": "3d41f3fc2a655ee719ef9959de91d517012ee5cee672f087e6b7f976ad3f7464"
},
"downloads": -1,
"filename": "spkit-0.0.9.6.7.tar.gz",
"has_sig": false,
"md5_digest": "fd2254ede41c7594e3b142fe79c45be9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 1551329,
"upload_time": "2023-11-14T22:15:09",
"upload_time_iso_8601": "2023-11-14T22:15:09.823476Z",
"url": "https://files.pythonhosted.org/packages/54/a8/c970267329672d160137c93e25297d1bff1e00c835279f371bfc14b3f101/spkit-0.0.9.6.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-14 22:15:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Nikeshbajaj",
"github_project": "spkit",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"circle": true,
"requirements": [
{
"name": "numpy",
"specs": [
[
">",
"1.8"
]
]
},
{
"name": "pandas",
"specs": []
},
{
"name": "scipy",
"specs": []
},
{
"name": "scikit-learn",
"specs": []
},
{
"name": "python-picard",
"specs": []
},
{
"name": "matplotlib",
"specs": []
},
{
"name": "PyWavelets",
"specs": []
},
{
"name": "pylfsr",
"specs": []
},
{
"name": "h5py",
"specs": []
},
{
"name": "seaborn",
"specs": []
},
{
"name": "joblib",
"specs": []
},
{
"name": "phyaat",
"specs": []
}
],
"lcname": "spkit"
}