Metadata-Version: 2.1
Name: opexebo
Version: 0.5.2
Summary: Collection of python code in Kavli lab.
Home-page: https://github.com/kavli-ntnu/opexebo
Author: Simon Ball
Author-email: simon.ball@ntnu.no
License: UNKNOWN
Keywords: neuroscience kavli gridscore
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
Requires-Dist: astropy (>=3.1.2)
Requires-Dist: numpy (>=1.15.0)
Requires-Dist: scipy (>=1.3.0)
Requires-Dist: scikit-image (>=0.15.0)
Requires-Dist: opencv-python
Provides-Extra: full
Requires-Dist: sep (>=1.0.3) ; extra == 'full'

# opexebo

[![Build Status](https://travis-ci.com/kavli-ntnu/opexebo.svg?branch=master&status=passed)](https://travis-ci.com/kavli-ntnu/opexebo)
[![codecov](https://codecov.io/gh/kavli-ntnu/opexebo/branch/master/graph/badge.svg)](https://codecov.io/gh/kavli-ntnu/opexebo)
[![Documentation Status](https://readthedocs.org/projects/opexebo/badge/?version=latest)](https://opexebo.readthedocs.io/en/latest/?badge=latest)

This library provides various analysis tools written by and for the Moser group  at the [Kavli Institute](https://www.ntnu.edu/kavli) in Trondheim. 

The package contains a mixture of translations of the older MatLab based [Behavioural Neurology Toolbox](https://bitbucket.org/cnc-ntnu/bnt), and other functions written only in Python 3, as part of the transition towards providing open access to research code. 


### Documentation

Specifications and documentation for `opexebo` are available on [Read the Docs](https://opexebo.readthedocs.io/en/latest/).


### Installation

Install with pip:

```
pip install opexebo
```

Opexebo has an optional dependency, `sep`, that is not installed by default. To be able to install it, you require a C++ compiler installed on your system. On Linux, `gcc` will do the job. On Windows, the the Microsoft Visual C++ Build Tools fulfil the same role (https://www.microsoft.com/en-us/download/details.aspx?id=48159). To force installation of all optional dependencies, append `[full]` to the install command, for example:

    pip install opexebo[full]


# History


## 0.5.2 (2021-04-19)

* Support 1D data in spatial occupancy and ratemap
* Add Opexebo-specific errors
* Add automated testing prior to release
* Add `calculate_speed`
* Add `egocentric_occupancy``
* Fixed an edge case error in `accumulate_spatial`


## 0.4.3 (2020-02-19)

* Substantial cleanup to `accumulate_spatial`
  - Function was mathematically correct but confusing, due to the difference between opexebo's standard of `(x, y)` and NumPy's standard of `(y, x)`
* Added `upsampling`
* Added `circular_mask`
* Mandatory keyword arguments have been made positional
* `peak_search` updated to handle issues with MaskedArrays containing negative values
* Dcumentation expanded, made Sphinx compatible, and published on ReadTheDocs
* Further work on BorderScore, still experimental though
  - Functional for Rectangular arenas
  - Circular arenas are still WIP, should not be relied upon yet.


## 0.4.2 (2020-02-05)

* Speedscore modified substantially
  - Adaptive filtering added, allowing the user to specify an upper speed as a bandwidth
  - Adaptive filtering adjusted to behave more sensibly in the case of small bin sizes
  - Speeds are smoothed before correlating
* Spatial cross correlation added
* General `bin_number` to `bin_size` code refactored to make future development more consistent
* Assorted unit tests added, including run-once code removed for speed
* Fix errors associated with `>` where applied to MaskedArrays (which, unlike ndarrays, do not correctly obey  the symbol)


## 0.4.0 (2019-12-10)

* Ratemaps updated to handle walk filter (signature now requires providing animal speeds)
* Angular occupancy coverage calculation corrected
* circular arenas now handled in Spatial Occupancy
* Population Vector Correlation added


## 0.3.5 (2019-11-18)

* Assorted bugfixes to HDtuning
* Gridscore to handle NaNs more gracefully


## 0.3.4 (2019-20-25)

* `sep` made an optional dependency
* Alternative, non `sep` based code uses `skimage`
* Attempting to use `sep` if not installed with raise an error


## 0.3.2 (2019-09-20)

* Consistent calculating of bin numbers when histogramming


## 0.3.0 (2019-08-27)

* Third development release
* Improve NaN handling throughout by moving to MaskedArrays
* Fix Angular handling to function in seconds instead of frames
* Remove matplotlib from requirements


## 0.2.0 

* Second development release
  - Implementation of time-map -> rate-map -> (acorr, gridness score)
  - Implementation of rate-map stats, grid stats
  - Implementation of angular-map -> tuning-curve -> head direction score, stats.
  - Non-production-ready implementation of border-score, speed-score. 


## 0.1.0 (2018-08-30)

* First development release
  - Implementation of gridness score, autocorrelogram, place-field detection


