-
Notifications
You must be signed in to change notification settings - Fork 249
0.4.0_tasks
Andrew Davison edited this page Feb 18, 2016
·
10 revisions
Planned tasks and features for 0.4.0
- harmonize data classes (AnalogSignal, SpikeTrain, Event and Epoch): have quantities attributes or inherits quantities.
- Rename AnalogSignalArray to AnalogSignal, EpochArray to Epoch, EventArray to Event. Remove the original, 1D AnalogSignal, Epoch and Event classes.
- Remove the Spike class.
- Remove the RecordingChannel class, and replace lists of RecordingChannels with a modified/repurposed RecordingChannelGroup.
- Rename RecordingChannelGroup to ChannelIndex.
- Attach units directly to Block.
- Implement SpikeTrain.waveforms attribute as an AnalogSignal. So remove SpikeTrain.sampling_rate, SpikeTrain.left_sweep
- Move all relationship information from neo.description into the neo.core classes.
- Deprecate or remove neo.description.
- AnalogSignal, Epoch, Event, IrregularlySampledSignal, and SpikeTrain all derive from a NeoArray base class
- Block, Segment, RecordingChannelGroup (ChannelIndex), and Unit all derive from a NeoContainer base class.
- Implement all attributes as properties, with built-in compliance testing.
- Move mathematics, slicing, and time methods into NeoArray. IrregularlySampledSignal and SpikeTrain override them.
- Move merge() method into BaseNeo.
- Implement annotation merging in merge().
- Implement automatic parent/child relationship generation in NeoContainer.
- Implement recursive and non-recursive child listing and filtering generically in NeoContainer.
- Python 3.x compatibility for all IO classes.
- PEP8 compliance for all IO classes.
- add stream reading where possible (HDF, ..) in the API.
- change the formalism for parameters description. pyqtgraph use a simple way to do it with list and dict only. we propose to use the same.
- Revamp the Neo documentation.