Release Notes¶
Elephant 0.7.0 release notes¶
Breaking changes¶
- [gpfa] GPFA dimensionality reduction method is rewritten in easy-to-use scikit-learn class style format (https://github.com/NeuralEnsemble/elephant/pull/287):
gpfa = GPFA(bin_size=20*pq.ms, x_dim=8)
results = gpfa.fit_transform(spiketrains, returned_data=['xorth', 'xsm'])
New tutorials¶
- GPFA dimensionality reduction method: https://elephant.readthedocs.io/en/latest/tutorials/gpfa.html
- Unitary Event Analysis of coordinated spiking activity: https://elephant.readthedocs.io/en/latest/tutorials/unitary_event_analysis.html
- (Introductory) statistics module: https://elephant.readthedocs.io/en/latest/tutorials/statistics.html
Deprecations¶
- Python 2.7 support will be dropped on Dec 31, 2020. Please switch to Python 3.6, 3.7, or 3.8.
- [spike train generation] homogeneous_poisson_process_with_refr_period(), introduced in v0.6.4, is deprecated and will be deleted in v0.8.0. Use homogeneous_poisson_process(refractory_period=…) instead.
- [pandas bridge] pandas_bridge module is deprecated and will be deleted in v0.8.0.
New features¶
- New documentation style, guidelines, tutorials, and more (https://github.com/NeuralEnsemble/elephant/pull/294).
- Python 3.8 support (https://github.com/NeuralEnsemble/elephant/pull/282).
- [spike train generation] Added refractory_period flag in homogeneous_poisson_process() (https://github.com/NeuralEnsemble/elephant/pull/292) and inhomogeneous_poisson_process() (https://github.com/NeuralEnsemble/elephant/pull/295) functions. The default is refractory_period=None, meaning no refractoriness.
- [spike train correlation] cross_correlation_histogram() supports different t_start and t_stop of input spiketrains.
- [waveform features] waveform_width() function extracts the width (trough-to-peak TTP) of a waveform (https://github.com/NeuralEnsemble/elephant/pull/279).
- [signal processing] Added scaleopt flag in pairwise_cross_correlation() to mimic the behavior of Matlab’s xcorr() function (https://github.com/NeuralEnsemble/elephant/pull/277). The default is scaleopt=unbiased to be consistent with the previous versions of Elephant.
- [spike train surrogates] Joint-ISI dithering method via JointISI class (https://github.com/NeuralEnsemble/elephant/pull/275).
Bug fixes¶
- [spike train correlation] Fix CCH Border Correction (https://github.com/NeuralEnsemble/elephant/pull/298). Now, the border correction in cross_correlation_histogram() correctly reflects the number of bins used for the calculation at each lag. The correction factor is now unity at full overlap.
- [phase analysis] spike_triggered_phase() incorrect behavior when the spike train and the analog signal had different time units (https://github.com/NeuralEnsemble/elephant/pull/270).
Performance¶
- [spade] SPADE x7 speedup (https://github.com/NeuralEnsemble/elephant/pull/280, https://github.com/NeuralEnsemble/elephant/pull/285, https://github.com/NeuralEnsemble/elephant/pull/286). Moreover, SPADE is now able to handle all surrogate types that are available in Elephant, as well as more types of statistical corrections.
- [conversion] Fast & memory-efficient covariance() and Pearson corrcoef() (https://github.com/NeuralEnsemble/elephant/pull/274). Added flag fast=True by default in both functions.
- [conversion] Use fast fftconvolve instead of np.correlate in cross_correlation_histogram() (https://github.com/NeuralEnsemble/elephant/pull/273).
Elephant 0.6.4 release notes¶
This release has been made for the “1st Elephant User Workshop” (https://www.humanbrainproject.eu/en/education/participatecollaborate/infrastructure-events-trainings/1st-elephant-user-workshop-accelerate-structured-and-reproducibl).
Main features¶
- neo v0.8.0 compatible
New modules¶
- GPFA - Gaussian-process factor analysis - dimensionality reduction method for neural trajectory visualization (https://github.com/NeuralEnsemble/elephant/pull/233). _Note: the API could change in the future._
Bug fixes¶
- [signal processing] Keep array_annotations in the output of signal processing functions (https://github.com/NeuralEnsemble/elephant/pull/258).
- [SPADE] Fixed the calculation of the duration of a pattern in the output (https://github.com/NeuralEnsemble/elephant/pull/254).
- [statistics] Fixed automatic kernel selection yields incorrect values (https://github.com/NeuralEnsemble/elephant/pull/246).
Improvements¶
- Vectorized spike_time_tiling_coefficient() function - got rid of a double for-loop (https://github.com/NeuralEnsemble/elephant/pull/244)
- Reduced the number of warnings during the tests (https://github.com/NeuralEnsemble/elephant/pull/238).
- Removed unused debug code in spade/fast_fca.py (https://github.com/NeuralEnsemble/elephant/pull/249).
- Improved doc string of covariance() and corrcoef() (https://github.com/NeuralEnsemble/elephant/pull/260).
Elephant 0.6.3 release notes¶
July 22nd 2019
The release v0.6.3 is mostly about improving maintenance.
New functions¶
- waveform_features module
- Waveform signal-to-noise ratio (https://github.com/NeuralEnsemble/elephant/pull/219).
- Added support for Butterworth sosfiltfilt - numerically stable (in particular, higher order) filtering (https://github.com/NeuralEnsemble/elephant/pull/234).
Bug fixes¶
- Fixed neo version typo in requirements file (https://github.com/NeuralEnsemble/elephant/pull/218)
- Fixed broken docs (https://github.com/NeuralEnsemble/elephant/pull/230, https://github.com/NeuralEnsemble/elephant/pull/232)
- Fixed issue with 32-bit arch (https://github.com/NeuralEnsemble/elephant/pull/229)
Other changes¶
- Added issue templates (https://github.com/NeuralEnsemble/elephant/pull/226)
- Single VERSION file (https://github.com/NeuralEnsemble/elephant/pull/231)
Elephant 0.6.2 release notes¶
April 23rd 2019
New functions¶
- signal_processing module
- New functions to calculate the area under a time series and the derivative of a time series.
Other changes¶
- Added support to initialize binned spike train representations with a matrix
- Multiple bug fixes
Elephant 0.6.1 release notes¶
April 1st 2019
New functions¶
- signal_processing module
- New function to calculate the cross-correlation function for analog signals.
- spade module
- Spatio-temporal spike pattern detection now includes the option to assess significance also based on time-lags of patterns, in addition to patterns size and frequency (referred to as 3D pattern spectrum).
Other changes¶
- This release fixes a number of compatibility issues in relation to API breaking changes in the Neo library.
- Fixed error in STTC calculation (spike time tiling coefficient)
- Minor bug fixes
Elephant 0.6.0 release notes¶
October 12th 2018
New functions¶
- cell_assembly_detection module
- New function to detect higher-order correlation structures such as patterns in parallel spike trains based on Russo et al, 2017.
- wavelet_transform() function in signal_prosessing.py module
- Function for computing wavelet transform of a given time series based on Le van Quyen et al. (2001)
Other changes¶
- Switched to multiple requirements.txt files which are directly read into the setup.py
- instantaneous_rate() accepts now list of spiketrains
- Minor bug fixes
Elephant 0.5.0 release notes¶
April 4nd 2018
New functions¶
- change_point_detection module:
- New function to detect changes in the firing rate
- spike_train_correlation module:
- New function to calculate the spike time tiling coefficient
- phase_analysis module:
- New function to extract spike-triggered phases of an AnalogSignal
- unitary_event_analysis module:
- Added new unit test to the UE function to verify the method based on data of a recent [Re]Science publication
Other changes¶
- Minor bug fixes
Elephant 0.4.3 release notes¶
March 2nd 2018
Other changes¶
- Bug fixes in spade module:
- Fixed an incompatibility with the latest version of an external library
Elephant 0.4.2 release notes¶
March 1st 2018
New functions¶
- spike_train_generation module:
- inhomogeneous_poisson() function
- Modules for Spatio Temporal Pattern Detection (SPADE) spade_src:
- Module SPADE: spade.py
- Module statistics.py:
- Added CV2 (coefficient of variation for non-stationary time series)
- Module spike_train_correlation.py:
- Added normalization in cross-correlation histogram() (CCH)
Other changes¶
- Adapted the setup.py to automatically install the spade modules including the compiled C files fim.so
- Included testing environment for MPI in travis.yml
- Changed function arguments in current_source_density.py to neo.AnalogSignal instead list of neo.AnalogSignal objects
- Fixes to travis and setup configuration files
- Fixed bug in ISI function isi(), statistics.py module
- Fixed bug in dither_spikes(), spike_train_surrogates.py
- Minor bug fixes
Elephant 0.4.1 release notes¶
March 23rd 2017
Other changes¶
- Fix in setup.py to correctly import the current source density module
Elephant 0.4.0 release notes¶
March 22nd 2017
New functions¶
- spike_train_generation module:
- peak detection: peak_detection()
- Modules for Current Source Density: current_source_density_src
- Module Current Source Density: KCSD.py
- Module for Inverse Current Source Density: icsd.py
API changes¶
- Interoperability between Neo 0.5.0 and Elephant
- Elephant has adapted its functions to the changes in Neo 0.5.0, most of the functionality behaves as before
- See Neo documentation for recent changes: http://neo.readthedocs.io/en/latest/whatisnew.html
Other changes¶
- Fixes to travis and setup configuration files.
- Minor bug fixes.
- Added module six for Python 2.7 backwards compatibility
Elephant 0.3.0 release notes¶
April 12st 2016
New functions¶
- spike_train_correlation module:
- cross correlation histogram: cross_correlation_histogram()
- spike_train_generation module:
- single interaction process (SIP): single_interaction_process()
- compound Poisson process (CPP): compound_poisson_process()
- signal_processing module:
- analytic signal: hilbert()
- sta module:
- spike field coherence: spike_field_coherence()
- Module to represent kernels: kernels module
- Spike train metrics / dissimilarity / synchrony measures: spike_train_dissimilarity module
- Unitary Event (UE) analysis: unitary_event_analysis module
- Analysis of Sequences of Synchronous EvenTs (ASSET): asset module
API changes¶
- Function instantaneous_rate() now uses kernels as objects defined in the kernels module. The previous implementation of the function using the make_kernel() function is deprecated, but still temporarily available as oldfct_instantaneous_rate().
Other changes¶
- Fixes to travis and readthedocs configuration files.
Elephant 0.2.0 release notes¶
September 22nd 2015
New functions¶
- Added covariance function covariance() in the spike_train_correlation module
- Added complexity pdf complexity_pdf() in the statistics module
- Added spike train extraction from analog signals via threshold detection the in spike_train_generation module
- Added coherence() function for analog signals in the spectral module
- Added Cumulant Based Inference for higher-order of Correlation (CuBIC) in the cubic module for correlation analysis of parallel recorded spike trains
API changes¶
- Optimized kernel bandwidth in rate_estimation function: Calculates the optimized kernel width when the paramter kernel width is specified as auto
Other changes¶
- Optimized creation of sparse matrices: The creation speed of the sparse matrix inside the BinnedSpikeTrain class is optimized
- Added Izhikevich neuron simulator in the make_spike_extraction_test_data module
- Minor improvements to the test and continous integration infrastructure