[![PyPI version](https://badge.fury.io/py/bnpm.svg)](https://badge.fury.io/py/bnpm)
[![Downloads](https://pepy.tech/badge/bnpm)](https://pepy.tech/project/bnpm)
[![repo size](https://img.shields.io/github/repo-size/RichieHakim/basic_neural_processing_modules)](https://github.com/RichieHakim/basic_neural_processing_modules/)
# basic_neural_processing_modules
Personal library of functions used in analyzing neural data.
If you find a bug or just want to reach out: RichHakim@gmail.com
## Installation
Normal installation of `bnpm` does not install all possible dependencies; there are some specific functions that wrap libraries that may need to be installed separately on a case-by-case basis.
Install stable version:
```
pip install bnpm[core]
```
If installing on a server or any computer without graphics/display, install using `core_cv2Headless`. If you accidentally installed the normal version, simply please uninstall `pip uninstall opencv-contrib-python` and install `pip install opencv-contrib-python-headless` instead.
Install development version:
```
pip install git+https://github.com/RichieHakim/basic_neural_processing_modules.git
```
import with:
```
import bnpm
```
## Usage
My favorites:
- **`automatic_regression`** module
- Allows for easy and fast hyperparameter optimization of regression models
- Any model with a `fit` and `predict` method can be used (e.g. `sklearn` and similar)
- Uses `optuna` for hyperparameter optimization
Other useful functions:
- Signal Processing:
- `timeSeries.rolling_percentile_rq_multicore`
- Fast rolling percentile calculation
- `timeSeries.event_triggered_traces`
- Fast creation of a matrix of aligned traces relative to specified event times
- Machine Learning:
- `neural_networks` module
- Has nice RNN regression and classification classes
- `decomposition.torch_PCA`
- Fast standard PCA using PyTorch
- `similarity.orthogonalize`
- Orthogonalize a matrix relative to a set of vectors using OLS or Gram-Schmidt process
- Miscellaneous
- `path_helpers.find_paths`
- Find paths to files and/or folders in a directory. Searches recursively using regex.
- `image_processing.play_video_cv2`
- Plays and/or saves a 3D array as a video using OpenCV
- `h5_handling.simple_save` and `h5_handling.simple_load`
- Simple lazy loading and saving of dictionaries as nested h5 files
Raw data
{
"_id": null,
"home_page": "https://github.com/RichieHakim/basic_neural_processing_modules",
"name": "bnpm",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "data analysis, machine learning, neuroscience",
"author": "Richard Hakim",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/6a/a7/f524a2cf30adae4d968c47966d55f1a989bc9752f1b5298a0812315ae5e4/bnpm-0.5.3.tar.gz",
"platform": null,
"description": "[![PyPI version](https://badge.fury.io/py/bnpm.svg)](https://badge.fury.io/py/bnpm)\n[![Downloads](https://pepy.tech/badge/bnpm)](https://pepy.tech/project/bnpm)\n[![repo size](https://img.shields.io/github/repo-size/RichieHakim/basic_neural_processing_modules)](https://github.com/RichieHakim/basic_neural_processing_modules/)\n\n# basic_neural_processing_modules \nPersonal library of functions used in analyzing neural data.\nIf you find a bug or just want to reach out: RichHakim@gmail.com\n\n## Installation \nNormal installation of `bnpm` does not install all possible dependencies; there are some specific functions that wrap libraries that may need to be installed separately on a case-by-case basis.\n\nInstall stable version:\n```\npip install bnpm[core]\n```\n\nIf installing on a server or any computer without graphics/display, install using `core_cv2Headless`. If you accidentally installed the normal version, simply please uninstall `pip uninstall opencv-contrib-python` and install `pip install opencv-contrib-python-headless` instead. \n\n\nInstall development version:\n```\npip install git+https://github.com/RichieHakim/basic_neural_processing_modules.git\n```\n\nimport with:\n```\nimport bnpm\n```\n\n\n## Usage \nMy favorites:\n- **`automatic_regression`** module\n - Allows for easy and fast hyperparameter optimization of regression models\n - Any model with a `fit` and `predict` method can be used (e.g. `sklearn` and similar)\n - Uses `optuna` for hyperparameter optimization\n\nOther useful functions:\n- Signal Processing:\n - `timeSeries.rolling_percentile_rq_multicore`\n - Fast rolling percentile calculation\n - `timeSeries.event_triggered_traces`\n - Fast creation of a matrix of aligned traces relative to specified event times\n\n- Machine Learning:\n - `neural_networks` module\n - Has nice RNN regression and classification classes\n - `decomposition.torch_PCA`\n - Fast standard PCA using PyTorch\n - `similarity.orthogonalize`\n - Orthogonalize a matrix relative to a set of vectors using OLS or Gram-Schmidt process\n\n- Miscellaneous\n - `path_helpers.find_paths`\n - Find paths to files and/or folders in a directory. Searches recursively using regex.\n - `image_processing.play_video_cv2`\n - Plays and/or saves a 3D array as a video using OpenCV\n - `h5_handling.simple_save` and `h5_handling.simple_load`\n - Simple lazy loading and saving of dictionaries as nested h5 files\n",
"bugtrack_url": null,
"license": "LICENSE",
"summary": "A library of useful modules for data analysis.",
"version": "0.5.3",
"project_urls": {
"Homepage": "https://github.com/RichieHakim/basic_neural_processing_modules"
},
"split_keywords": [
"data analysis",
" machine learning",
" neuroscience"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "850c87c6a0c887030f18172480ffb408e7b3d7214e44ab21fb9ddfd5219bd3fc",
"md5": "b789e6e80b26833f57d8f06d18572dba",
"sha256": "3684f1264509292c16f1527288dafb4a3141e0b0bd277e4a091bc83f4a6c89b6"
},
"downloads": -1,
"filename": "bnpm-0.5.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b789e6e80b26833f57d8f06d18572dba",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 227022,
"upload_time": "2024-04-25T04:48:12",
"upload_time_iso_8601": "2024-04-25T04:48:12.623625Z",
"url": "https://files.pythonhosted.org/packages/85/0c/87c6a0c887030f18172480ffb408e7b3d7214e44ab21fb9ddfd5219bd3fc/bnpm-0.5.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6aa7f524a2cf30adae4d968c47966d55f1a989bc9752f1b5298a0812315ae5e4",
"md5": "7590d9a716c6c560b5e80095067649a6",
"sha256": "5c70eb648c8a9b217dcb80e50b6dcdd57c82e96bf0eaa27e202454e04b78fa5c"
},
"downloads": -1,
"filename": "bnpm-0.5.3.tar.gz",
"has_sig": false,
"md5_digest": "7590d9a716c6c560b5e80095067649a6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 215299,
"upload_time": "2024-04-25T04:48:14",
"upload_time_iso_8601": "2024-04-25T04:48:14.778564Z",
"url": "https://files.pythonhosted.org/packages/6a/a7/f524a2cf30adae4d968c47966d55f1a989bc9752f1b5298a0812315ae5e4/bnpm-0.5.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-25 04:48:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "RichieHakim",
"github_project": "basic_neural_processing_modules",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "h5py",
"specs": []
},
{
"name": "eva_decord",
"specs": []
},
{
"name": "ipywidgets",
"specs": []
},
{
"name": "kornia",
"specs": []
},
{
"name": "matplotlib",
"specs": []
},
{
"name": "natsort",
"specs": []
},
{
"name": "numba",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "opencv_contrib_python",
"specs": []
},
{
"name": "opt_einsum",
"specs": []
},
{
"name": "optuna",
"specs": []
},
{
"name": "optuna_integration",
"specs": []
},
{
"name": "pandas",
"specs": []
},
{
"name": "paramiko",
"specs": []
},
{
"name": "psutil",
"specs": []
},
{
"name": "PyYAML",
"specs": []
},
{
"name": "pytest",
"specs": []
},
{
"name": "hypothesis",
"specs": []
},
{
"name": "scikit_learn",
"specs": []
},
{
"name": "tqdm",
"specs": []
},
{
"name": "seaborn",
"specs": []
},
{
"name": "sparse",
"specs": []
},
{
"name": "scipy",
"specs": []
},
{
"name": "sqlalchemy",
"specs": []
},
{
"name": "pymysql",
"specs": []
},
{
"name": "xxhash",
"specs": []
},
{
"name": "wandb",
"specs": []
},
{
"name": "torch",
"specs": []
},
{
"name": "torchvision",
"specs": []
},
{
"name": "torchaudio",
"specs": []
},
{
"name": "tables",
"specs": []
},
{
"name": "pulp",
"specs": []
},
{
"name": "spconv",
"specs": []
},
{
"name": "torch_sparse",
"specs": []
},
{
"name": "av",
"specs": []
},
{
"name": "pynwb",
"specs": []
},
{
"name": "sendgrid",
"specs": []
},
{
"name": "pycuda",
"specs": []
},
{
"name": "cuml",
"specs": []
},
{
"name": "cupy",
"specs": []
},
{
"name": "cudf",
"specs": []
},
{
"name": "scanimage_tiff_reader",
"specs": []
},
{
"name": "jupyter",
"specs": []
},
{
"name": "PyWavelets",
"specs": []
},
{
"name": "mat73",
"specs": []
},
{
"name": "psycopg2",
"specs": []
}
],
"lcname": "bnpm"
}