-
Notifications
You must be signed in to change notification settings - Fork 248
0.4.0_tasks
Andrew Davison edited this page Feb 16, 2016
·
10 revisions
Planned tasks and features for 0.4.0
- Move all relationship information from neo.description into the neo.core classes.
- Deprecate or remove neo.description.
- harmonize data classes (AnalogSignal, SpikeTrain Evnt and Epoch) : have quantities attributes or inherits quantities.
- change the model relationship. In 0.3.x accessing Unit and RecordingChannel are indirect from a Block. I propose to attach RC RCG and Unit to Block directly. Few people use RCG and the actual force to use them. It is unnecessary complexe.
- Remove AnalogSignal, Epoch, Event, and Spike.
- AnalogSignalArray, EpochArray, EventArray, IrregularlySampledSignal, and SpikeTrain all derive from a NeoArray base class
- Block, Segment, RecordingChannel, RecordingChannelGroup, 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 into BaseNeo.
- Implement annotations merging in merge.
- Implement automatic parent/child relationship generation in NeoContainer.
- Implement recursive and non-recursive child listing and filtering generically in NeoContainer.
- Implement SpikeTrain.waveforms attribute as an AnalogSignal(Array). So remove SpikeTrain.sampling_rate, SpikeTrain.left_sweep
- 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. I propose to use the same.