-
Notifications
You must be signed in to change notification settings - Fork 92
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
[Feature] Online Unitary Event Analysis #491
base: master
Are you sure you want to change the base?
[Feature] Online Unitary Event Analysis #491
Conversation
… online version of the Unitary Event Analysis into 'elephant'
…taryEventAnalysis' TestCase and load it then several times for the respective test-functions which use this dataset; uncommented import/usage of matplotlib within this TestCase (the created plots are just a possible debug help for the developer, but not needed for executing the test-functions)
This comment was marked as outdated.
This comment was marked as outdated.
…o the call of '__init__()'; changed order of class methods: public methods are now first in alphabetical order, followed by the private helper methods which are unordered; changed order of testing the class attributes after performing the 'reset()' method in the test-function 'test_reset' to be the same as in the docstring of the 'OnlineUnitaryEventAnalysis' class
Hey @ojoenlanuca,
Thanks for contributing ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this nice addition to elephant.
Here is an initial review checking for naming conventions, code style and unit-tests.
- check naming conventions in https://elephant.readthedocs.io/en/latest/style_guide.html
- please help justifying the use of viziphant in the unit-tests
- consistent naming with
unitary_event_analysis.py
Consider this an initial review, an in-depth review will follow.
… and numpy.ndarray for 'events' parameters, in the later case three additional parameters must be specified, namely: 't_start', 't_stop' and 'time_unit'; extended TestCase class to cover also these alternative types for the 'spiketrains' and 'events' representation
… parameters which are not pq.Quantities
…e tw_counter represents the number of already analyzed trials and n_trials represents the number of trials for which a trigger event was given; tw_counter <= n_trials, i.e. it is possible to provide more trigger events than could be actually analyzed due to the simulation duration (providing trigger events that would occure after the simulation end)
…and online UEA results
…ome calculations; fixed PEP issues (not all)
… UnitTests of test_online.py
This pull request introduces an online version of the Unitary Event Analysis (UEA). It is related to the pull request #405, because it provides another online batched statistic. These pull requests could be reviewed jointly, but also separately, depending on what will be more efficient in terms of the overall time needed for the reviews.
Like the other online batched measures in #405, the online version of the UEA is implemented as a class, which stores the necessary intermediate results within class-attributes and updates them with the aid of the 'update_uea()' class-method. To perform such an update-step, several helper-methods are used to manage the spike data and to pre-process it in the same manner as the standard/offline UEA it does.
The 'concurrent_test_runner_for_uea.py' module is optional. It executes all test-functions of 'TestOnlineUnitaryEventAnalysis' unittest.TestCase, which is located in 'test_online.py', in a concurrent manner to reduce run-time. It uses the third-party package 'concurrencytest', which is yet not part of the 'elephant'-requirements.
Task List