Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support SpikeTrainList object and deprecate RecordingChannel in Elephant #447

Merged

Conversation

mdenker
Copy link
Member

@mdenker mdenker commented Feb 7, 2022

Since Neo 0.10.0, there is a new SpikeTrainList object. While this new construct behaves like a list, there are a couple of instances where Elephant directly tests if an input is explicitly a list of SpikeTrains. This PR adds support for allowing SpikeTrainList objects as well as lists of SpikeTrains in these circumstances.

Fixes:

  • conversion.BinnedSpiketrain (wtih regression test, where SpikeTrainLists would lead to incorrect binned matrices)
  • spike_train_synchrony.Synchrotool class
  • spade module
  • statistics module, instantaneous_rate()

This PR fixes #431.

Also, in Neo 0.10.0, RecordingChannelGroup objects are no longer supported. This affects the current_source_density, where electrode coordinates where optionally extracted form this object. This PR fixes CSD methods by taking electrode positions from an annotation of the signal. As in the previous version of Elephant, CSD methods alternatively take electrodes as a direct parameter. By nature of the API break in Neo, this also necessarily breaks API in Elephant.

@mdenker mdenker added the bugfix Fix for an indentified bug. label Feb 7, 2022
@pep8speaks
Copy link

pep8speaks commented Feb 7, 2022

Hello @mdenker! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

Line 82:80: E501 line too long (80 > 79 characters)

Line 189:13: E122 continuation line missing indentation or outdented
Line 190:13: E122 continuation line missing indentation or outdented

Comment last updated at 2022-03-10 15:55:34 UTC

@mdenker mdenker marked this pull request as draft February 7, 2022 22:34
@Moritz-Alexander-Kern Moritz-Alexander-Kern added this to the v0.11.0 milestone Feb 22, 2022
@Moritz-Alexander-Kern Moritz-Alexander-Kern mentioned this pull request Mar 9, 2022
1 task
@mdenker mdenker changed the title Support SpikeTrainList object in Elephant Support SpikeTrainList object and deprecate RecordingChannel in Elephant Mar 10, 2022
@mdenker mdenker marked this pull request as ready for review March 10, 2022 13:43
@mdenker mdenker force-pushed the fix/spiketrainlist_test branch from 4341f42 to 9b9ab3a Compare March 10, 2022 15:55
@Moritz-Alexander-Kern Moritz-Alexander-Kern merged commit 5be9d7f into NeuralEnsemble:master Mar 14, 2022
@Moritz-Alexander-Kern Moritz-Alexander-Kern deleted the fix/spiketrainlist_test branch October 28, 2022 07:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugfix Fix for an indentified bug.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug] Neo 0.10.0 SpiketrainList objects may not pass type checks
3 participants