{ "info": { "author": "Jacob Graving ", "author_email": "jgraving@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Science/Research", "Programming Language :: Python :: 3" ], "description": "behavelet: a wavelet transform for mapping behavior\n============\n

\n\n

\n\nbehavelet is a Python implementation of the normalized Morlet wavelet transform for behavioral mapping from [Berman et al. (2014)](https://doi.org/10.1098/rsif.2014.0672).\n\nIt runs on the CPU using numpy and multiprocessing or on the GPU using [CuPy](https://github.com/cupy/cupy).\n\nThis code was adapted to Python using [the original MotionMapper code](https://github.com/gordonberman/MotionMapper) from Gordon Berman et al.\n\nQuick Start\n------------\nHere is an example of how to use behavelet on the CPU with a randomly generated dataset:\n```python\nfrom behavelet import wavelet_transform\nimport numpy as np\n\nn_samples = 10000\nn_features = 10\nX = np.random.normal(size=(n_samples, n_features))\n\nfreqs, power, X_new = wavelet_transform(X, n_freqs=25, fsample=100., fmin=1., fmax=50.)\n```\nuse the `n_jobs` argument to parallelize the computations across multiple threads:\n```python\nfreqs, power, X_new = wavelet_transform(X, n_freqs=25, fsample=100., fmin=1., fmax=50., n_jobs=-1)\n```\nand use the `gpu` argument to run it on the GPU with [CuPy](https://github.com/cupy/cupy):\n```python\nfreqs, power, X_new = wavelet_transform(X, n_freqs=25, fsample=100., fmin=1., fmax=50., gpu=True)\n```\n- `freqs` is a `(n_freqs,)` shaped array of the frequencies used for the wavelet transform\n- `power` is a `(n_samples,)` shaped array with the total power for the wavelet coefficients in each sample\n- `X_new` is a `(n_samples, n_freqs*n_features)` shaped array of the wavelet coefficients.\n\nCitation\n---------\n\nIf you use behavelet for your research, please cite this DOI:\n\n[![DOI](https://zenodo.org/badge/204273245.svg)](https://zenodo.org/badge/latestdoi/204273245)\n\n @misc{graving2019behavelet,\n title={behavelet: a wavelet transform for mapping behavior},\n author={Graving, Jacob M},\n month={aug},\n year={2019},\n doi={10.5281/zenodo.3376742},\n url={https://doi.org/10.5281/zenodo.3376742}\n }\n\nfor the original description of the normalized Morlet wavelet transform see the paper from [Berman et al. (2014)](https://doi.org/10.1098/rsif.2014.0672):\n\n @article{berman2014mapping,\n title={Mapping the stereotyped behaviour of freely moving fruit flies},\n author={Berman, Gordon J and Choi, Daniel M and Bialek, William and Shaevitz, Joshua W},\n journal={Journal of The Royal Society Interface},\n volume={11},\n number={99},\n pages={20140672},\n year={2014},\n publisher={The Royal Society}\n }\n\nInstallation\n------------\n\nInstall the development version with pip:\n```bash\npip install git+https://www.github.com/jgraving/behavelet.git\n```\n\nYou can also install from within Python rather than using the command line, either from within Jupyter or another IDE, to ensure it is installed in the correct working environment:\n```python\nimport sys\n!{sys.executable} -m pip install git+https://www.github.com/jgraving/behavelet.git\n```\n\nIf you wish to use the GPU version, you must [install CuPy manually](https://github.com/cupy/cupy#installation).\n\nDevelopment\n-------------\nPlease submit bugs or feature requests to the [GitHub issue tracker](https://github.com/jgraving/behavelet/issues/new). Please limit reported issues to the behavelet codebase and provide as much detail as you can with a minimal working example if possible. \n\nIf you experience problems with [CuPy](https://github.com/cupy/cupy), such as installing CUDA or other dependencies, then please direct issues to their development team.\n\nContributors\n------------\nbehavelet was developed by [Jake Graving](https://github.com/jgraving), and is still being actively developed. Public contributions are welcome. If you wish to contribute, please [fork the repository](https://help.github.com/en/articles/fork-a-repo) to make your modifications and [submit a pull request](https://help.github.com/en/articles/creating-a-pull-request-from-a-fork).\n\nLicense\n------------\nReleased under a Apache 2.0 License. See [LICENSE](https://github.com/jgraving/behavelet/blob/master/LICENSE) for details.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/jgraving/behavelet.git", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jgraving/behavelet", "keywords": "", "license": "Apache 2.0", "maintainer": "Jacob Graving ", "maintainer_email": "jgraving@gmail.com", "name": "behavelet", "package_url": "https://pypi.org/project/behavelet/", "platform": "", "project_url": "https://pypi.org/project/behavelet/", "project_urls": { "Download": "https://github.com/jgraving/behavelet.git", "Homepage": "https://github.com/jgraving/behavelet" }, "release_url": "https://pypi.org/project/behavelet/0.0.1/", "requires_dist": null, "requires_python": "", "summary": "behavelet: a wavelet transform for mapping behavior", "version": "0.0.1" }, "last_serial": 5956987, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "87b1f48413828c6bfb469db15b6b8a7d", "sha256": "25b9e39b7ca2ba8538a85954ad4adbebf7dd7a575cd657ecfd9c03de7b8f4e76" }, "downloads": -1, "filename": "behavelet-0.0.1.tar.gz", "has_sig": false, "md5_digest": "87b1f48413828c6bfb469db15b6b8a7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6398, "upload_time": "2019-10-10T21:11:02", "url": "https://files.pythonhosted.org/packages/3e/e5/fb683a968c342a5f16683961b80b85a64ae1bc592d9ca34fb2a093173a97/behavelet-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "87b1f48413828c6bfb469db15b6b8a7d", "sha256": "25b9e39b7ca2ba8538a85954ad4adbebf7dd7a575cd657ecfd9c03de7b8f4e76" }, "downloads": -1, "filename": "behavelet-0.0.1.tar.gz", "has_sig": false, "md5_digest": "87b1f48413828c6bfb469db15b6b8a7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6398, "upload_time": "2019-10-10T21:11:02", "url": "https://files.pythonhosted.org/packages/3e/e5/fb683a968c342a5f16683961b80b85a64ae1bc592d9ca34fb2a093173a97/behavelet-0.0.1.tar.gz" } ] }