Metadata-Version: 2.1
Name: CalSciPy
Version: 0.8.1
Summary: A toolbox for analyzing, designing, and visualizing multiphoton imaging & optogenetics experiments.
Author: Darik A. O'Neil
Maintainer: Darik A. O'Neil
License: MIT License
        
        Copyright (c) 2023 Darik A O’Neil
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: documentation, https://calscipy.readthedocs.io/en/latest/?badge=latest
Project-URL: repository, https://github.com/darikoneil/CalSciPy
Keywords: CalSciPy,Calcium Imaging
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: <4,>=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: get-annotations
Requires-Dist: imageio
Requires-Dist: imageio-ffmpeg
Requires-Dist: ipykernel
Requires-Dist: ipython
Requires-Dist: joblib
Requires-Dist: json-tricks
Requires-Dist: matplotlib
Requires-Dist: memoization
Requires-Dist: numba
Requires-Dist: numpy
Requires-Dist: opencv-python
Requires-Dist: pandas
Requires-Dist: pillow <=9.4.0
Requires-Dist: PPVD
Requires-Dist: PyQt6
Requires-Dist: seaborn
Requires-Dist: scikit-learn
Requires-Dist: scipy
Requires-Dist: slmsuite
Requires-Dist: tqdm
Provides-Extra: development
Requires-Dist: build ; extra == 'development'
Requires-Dist: coverage[toml] ; extra == 'development'
Requires-Dist: coveralls ; extra == 'development'
Requires-Dist: flake8 ; extra == 'development'
Requires-Dist: flake8-annotations ; extra == 'development'
Requires-Dist: flake8-bugbear ; extra == 'development'
Requires-Dist: flake8-class-attributes-order ; extra == 'development'
Requires-Dist: flake8-comprehensions ; extra == 'development'
Requires-Dist: flake8-html ; extra == 'development'
Requires-Dist: flake8-unused-arguments ; extra == 'development'
Requires-Dist: pytest ; extra == 'development'
Requires-Dist: pytest-lazy-fixture ; extra == 'development'
Requires-Dist: pytest-sugar ; extra == 'development'
Requires-Dist: pytest-clarity ; extra == 'development'
Requires-Dist: toml ; extra == 'development'
Requires-Dist: tomli ; extra == 'development'
Requires-Dist: twine ; extra == 'development'
Provides-Extra: gpu
Requires-Dist: cupy ; extra == 'gpu'
Provides-Extra: prairielink
Requires-Dist: pywin32 ; extra == 'prairielink'

![Alt text](/docs/images/dancing_neuron_band.png?raw=true)


## CalSciPy      
<!-- Line 1 Badges... PyPi, Downloads, Maintained, Coverage, Documentation -->
<!-- Line 2 Badges... Python Versions, PyPi Status, License, Contributors -->
![PyPI](https://img.shields.io/pypi/v/CalSciPy)
![Maintenance](https://img.shields.io/maintenance/yes/2023)
[![Coverage Status](https://coveralls.io/repos/github/darikoneil/CalSciPy/badge.svg?branch=master)](https://coveralls.io/github/darikoneil/CalSciPy?branch=master)
[![Documentation Status](https://readthedocs.org/projects/calscipy/badge/?version=latest)](https://calscipy.readthedocs.io/en/latest/?badge=latest)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/CalSciPy?)
![PyPI - Status](https://img.shields.io/pypi/status/CalSciPy)
![GitHub](https://img.shields.io/github/license/darikoneil/CalSciPy)
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/darikoneil/CalSciPy/calscipy_lint_test_action.yml)

CalSciPy is a utility toolbox for calcium imaging experiments. It contains a variety of useful features, from 
interactive visualization of data to computer-generated holography for "read/write" experiments, and 
everything in-between. Essentially, it's a collection of code written for my imaging experiments that might be 
considered useful to others. I was inspired to upload my own code to solve some of the issues outlined in the [motivation](https://calscipy.readthedocs.io/en/latest/introduction__motivation.html) section of the [docs](https://calscipy.readthedocs.io/en/latest/index.html#) or at least create a neat package my friends and I could use to easily analyze data across various environments and computers.

#### Active Development
As of version 0.9.8, the current implementation is unstable, partially untested, partially finished, and should be considered an open alpha/beta. ***Please be patient, refactoring my code for public use is a pet-project. I have to graduate at some point and I have a newborn.***

Until things are more stable, I'll explicitly note which subpackages are stable, have >90% test coverage, and are ready-to-use.

#### Stable & Tested Modules
* The main module is ready to use as of 0.7.5. New features will be demarcated by a label indicating the version added in the docs.
#### Experimental
* The organization module is untested but incorporated into the distributed pypi version
* The bruker module is untested but incorporated into the distributed pypi version
* The optogenetics module is untested but incorporated into the distributed pypi version
  
#### Unstable
* The interactive module is unstable but partially incorporated into the distributed pypi version
* The optics module is unstable and not incorporated into the distributed pypi version
  
#### Installation
Eventually I will break things up into sub-packages so you don't have to install everything together...         
`pip install CalSciPy`

#### Roadmap
My current focus is on refactoring tools for holographic optogenetics and circumventing PrairieView's writing of data to proprietary RAW format. I also plan on
breaking up this repo because its many of its contents are too decoupled (e.g., bruker prairieview tricks / helpers vs experiment organization)

#### Contributions
Save me from myself, contributions welcome :)

#### Documentation
Hosted at [ReadtheDocs](https://calscipy.readthedocs.io/en/latest/index.html#).
Available locally as [HTML](https://github.com/darikoneil/CalSciPy/tree/master/docs/build/html), [LATEX](https://github.com/darikoneil/CalSciPy/tree/master/docs/build/latex) and [PDF](https://github.com/darikoneil/CalSciPy/blob/master/docs/build/pdf/calscipy.pdf).
