Skip to content
Garcia Samuel edited this page Jan 13, 2014 · 10 revisions

0.4.0 Tasks

Planned tasks and features for 0.4.0

General

  • 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.

neo.core

  • 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

neo.io

  • python 3.3 compatibility for all IO classes.
  • pep8 compliance for all IO classes.
  • add stream reading where possible (HDF, ..) in the API.

Neo Documentation

Clone this wiki locally