22Neo 0.9.0 release notes
33=======================
44
5- [TODO] th October 2020
5+ 10th November 2020
66
77
88Group and ChannelView replace Unit and ChannelIndex
99---------------------------------------------------
1010
11+ Experience with :class: `ChannelIndex ` and :class: `Unit ` has shown that these classes are
12+ often confusing and difficult to understand.
13+ In particular, :class: `ChannelIndex ` was trying to provide three different functionalities in a
14+ single object:
1115
16+ - providing information about individual traces within :class: `AnalogSignals ` like the channel id and the channel name (labelling)
17+ - grouping a subset of traces within an :class: `AnalogSignal ` via the ``index `` attribute (masking)
18+ - linking between / grouping :class: `AnalogSignals ` (grouping)
19+
20+ while grouping :class: `SpikeTrains ` required a different class, :class: `Unit `.
21+ For more pointers to the difficulties this created, and some of the limitations of this approach,
22+ see `this Github issue `_.
23+
24+ With the aim of making the three functionalities of labelling, masking and grouping
25+ both easier to use and more flexible, we have replaced :class: `ChannelIndex ` and :class: `Unit `
26+ with:
27+
28+ - array annotations (*labelling *) - already available since Neo 0.8
29+ - :class: `~neo.core.ChannelView ` (*masking *) - defines subsets of channels within an `AnalogSignal ` using a mask
30+ - :class: `~neo.core.Group ` (*grouping *) - allows any Neo object except :class`Segment` and :class: `Block ` to be grouped
31+
32+ For some guidance on migrating from :class: `ChannelIndex `/:class: `Unit `
33+ to :class: `Group ` and :class: `ChannelView ` see :doc: `../grouping `.
1234
1335Python 3 only
1436-------------
@@ -35,7 +57,10 @@ Other new or modified features
3557 * added methods :func: `rectify() `, :func: `downsample ` and :func: `resample ` to :class: `AnalogSignal `
3658 * :func: `SpikeTrain.merge() ` can now merge multiple spiketrains
3759 * the utility function :func: `cut_block_by_epochs() ` gives a new :class: `Block ` now
38- rather than modifying the block in place.
60+ rather than modifying the block in place
61+ * some missing properties such as ``t_start `` were added to :class: `ImageSequence `,
62+ and ``sampling_period `` was renamed to ``frame_duration ``
63+ * :func: `AnalogSignal.time_index() ` now accepts arrays of times, not just a scalar.
3964
4065See all `pull requests `_ included in this release and the `list of closed issues `_.
4166
@@ -46,16 +71,19 @@ Bug fixes and improvements in IO modules
4671 * NeuralynxIO (fix handling of empty .nev files)
4772 * AxonIO (support EDR3 header, fix channel events bug)
4873 * Spike2IO (fix rounding problem, fix for v9 SON files)
74+ * MicromedIO (fix label encoding)
75+
4976
5077Acknowledgements
5178----------------
5279
5380Thanks to Julia Sprenger, Samuel Garcia, Andrew Davison, Alexander Kleinjohann, Hugo van Kemenade,
54- Achilleas Koutsou, Jeffrey Gill, Corentin Fragnaud, Aitor Morales-Gregorio, Rémi Proville,
55- Robin Gutzen, Marin Manuel, Simon Danner, Michael Denker, Peter N. Steinmetz, Diziet Asahi and
56- Lucien Krapp for their contributions to this release.
81+ Achilleas Koutsou, Jeffrey Gill, Corentin Fragnaud, Aitor Morales-Gregorio, Rémi Proville,
82+ Robin Gutzen, Marin Manuel, Simon Danner, Michael Denker, Peter N. Steinmetz, Diziet Asahi and
83+ Lucien Krapp for their contributions to this release.
5784
5885.. _`list of closed issues` : https://github.com/NeuralEnsemble/python-neo/issues?q=is%3Aissue+milestone%3A0.9.0+is%3Aclosed
5986.. _`pull requests` : https://github.com/NeuralEnsemble/python-neo/pulls?q=is%3Apr+is%3Aclosed+merged%3A%3E2019-09-30+milestone%3A0.9.0
6087.. _NEP29 : https://numpy.org/neps/nep-0029-deprecation_policy.html
6188.. _`discussed here` : https://github.com/NeuralEnsemble/python-neo/issues/788
89+ .. _`this Github issue` : https://github.com/NeuralEnsemble/python-neo/issues/456
0 commit comments