Package: opexebo
opexeboThis library provides various analysis tools written by and for the Moser group  at theKavli Institutein Trondheim.The package contains a mixture of translations of the older MatLab basedBehavioural Neurology Toolbox, and other functions written only in Python 3, as part of the transition towards providing open access to research code.DocumentationSpecifications and documentation foropexeboare available onRead the Docs.InstallationInstall with pip:pip install opexeboOpexebo 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,gccwill 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]TestsTests are implemented withpytest. Ensure that the various development tools are installed viapipinstall-rdev-requirements.txtAnd then run tests withpytest .History0.7.0Update dependencies for more modern versions (particularlynumpy,scipyandpytest)Switch supported Python versions for 3.8+0.6.1Fix some docstrings that were not updated to reflect changes in 0.6.0Fix the default limit behaviour ofaccumulate_spatialfor bin width specification.0.6.0Rewritespatial_occupancyandrate_mapto remove the walk filter (signature breaking)The individual analysis functions should be single purpose, and the walk-filter breaks this rule.Ideally, the walk-filter should be applied to spikes/tracking datafirst, and the resulting data then used for further analysis.A dedicated function has been provided to replace this:general.walk_filterRewriteshuffleto better handle edge cases (including 1-spike-only) (signature breaking)Addedgeneral.walk_filterto provide replace the specific filtering implemented in each ofspatial_occupancyandrate_mapFix a bug whereaccumulate_spatialcan't handle cases where a single spike is presentFix an error in the LFP power spectrum calculation with fftRemoved support for providing 1D position data as a 2d array with length 1Caused frustrating circular issues in cases where only a single data point was provided.Fairly low value addition, so support removed.0.5.5 (2021-06-01)Publish to PyPi0.5.2 (2021-04-19)Support 1D data in spatial occupancy and ratemapAdd Opexebo-specific errorsAdd automated testing prior to releaseAddcalculate_speedAddegocentric_occupancyFixed an edge case error inaccumulate_spatial0.4.3 (2020-02-19)Substantial cleanup toaccumulate_spatialFunction was mathematically correct but confusing, due to the difference between opexebo's standard of(x, y)and NumPy's standard of(y, x)AddedupsamplingAddedcircular_maskMandatory keyword arguments have been made positionalpeak_searchupdated to handle issues with MaskedArrays containing negative valuesDcumentation expanded, made Sphinx compatible, and published on ReadTheDocsFurther work on BorderScore, still experimental thoughFunctional for Rectangular arenasCircular arenas are still WIP, should not be relied upon yet.0.4.2 (2020-02-05)Speedscore modified substantiallyAdaptive filtering added, allowing the user to specify an upper speed as a bandwidthAdaptive filtering adjusted to behave more sensibly in the case of small bin sizesSpeeds are smoothed before correlatingSpatial cross correlation addedGeneralbin_numbertobin_sizecode refactored to make future development more consistentAssorted unit tests added, including run-once code removed for speedFix 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 correctedcircular arenas now handled in Spatial OccupancyPopulation Vector Correlation added0.3.5 (2019-11-18)Assorted bugfixes to HDtuningGridscore to handle NaNs more gracefully0.3.4 (2019-20-25)sepmade an optional dependencyAlternative, nonsepbased code usesskimageAttempting to usesepif not installed with raise an error0.3.2 (2019-09-20)Consistent calculating of bin numbers when histogramming0.3.0 (2019-08-27)Third development releaseImprove NaN handling throughout by moving to MaskedArraysFix Angular handling to function in seconds instead of framesRemove matplotlib from requirements0.2.0Second development releaseImplementation of time-map -> rate-map -> (acorr, gridness score)Implementation of rate-map stats, grid statsImplementation 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 releaseImplementation of gridness score, autocorrelogram, place-field detection