{"action":"created","issue":{"url":"https://api.github.com/repos/NeuralEnsemble/python-neo/issues/210","repository_url":"https://api.github.com/repos/NeuralEnsemble/python-neo","labels_url":"https://api.github.com/repos/NeuralEnsemble/python-neo/issues/210/labels{/name}","comments_url":"https://api.github.com/repos/NeuralEnsemble/python-neo/issues/210/comments","events_url":"https://api.github.com/repos/NeuralEnsemble/python-neo/issues/210/events","html_url":"https://github.com/NeuralEnsemble/python-neo/pull/210","id":103328308,"number":210,"title":"Merge of AnalogSignal and AnalogSignalArray, etc.","user":{"login":"apdavison","id":260552,"avatar_url":"https://avatars.githubusercontent.com/u/260552?v=3","gravatar_id":"","url":"https://api.github.com/users/apdavison","html_url":"https://github.com/apdavison","followers_url":"https://api.github.com/users/apdavison/followers","following_url":"https://api.github.com/users/apdavison/following{/other_user}","gists_url":"https://api.github.com/users/apdavison/gists{/gist_id}","starred_url":"https://api.github.com/users/apdavison/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apdavison/subscriptions","organizations_url":"https://api.github.com/users/apdavison/orgs","repos_url":"https://api.github.com/users/apdavison/repos","events_url":"https://api.github.com/users/apdavison/events{/privacy}","received_events_url":"https://api.github.com/users/apdavison/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-08-26T17:45:05Z","updated_at":"2016-02-17T20:06:28Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/NeuralEnsemble/python-neo/pulls/210","html_url":"https://github.com/NeuralEnsemble/python-neo/pull/210","diff_url":"https://github.com/NeuralEnsemble/python-neo/pull/210.diff","patch_url":"https://github.com/NeuralEnsemble/python-neo/pull/210.patch"},"body":"This is a first attempt at the next step in the API-breaking changes intended for Neo 0.4.\r\n\r\nChanges:\r\n- Renamed `AnalogSignalArray` and removed the original `AnalogSignal` class (cf #124). All signals are now represented by 2-dimensional arrays, even if there is only a single channel. For convenience, objects can still be constructed using a 1-D array.\r\n- Matched the behaviour of `IrregularlySampledSignal` to that of the new `AnalogSignal`, i.e. it can now contain multiple channels, with all channels sampled at the same, explicitly-stored time points.\r\n- Removed the `RecordingChannel` class. With most of the data types now being 2D arrays (except SpikeTrain), this class now seems superfluous. Its function is replaced by a `channel_indexes` attribute on `RecordingChannelGroup`.\r\n- For consistency, the `AnalogSignal.channel_indexes` and `Unit.channel_indexes` attributes are now properties pointing to the `channel_indexes` attribute of the parent `RecordingChannelGroup`. This removes a redundancy in which there were two independent ways of keeping track of channels.\r\n\r\nWith these changes, the object model looks rather simple and elegant, but I'm concerned I've missed something obvious, so please check these changes don't break important use cases.\r\n\r\nNote: I modified the tests in a rather ad hoc fashion to get them to pass, so this PR is not intended for merging yet, rather for discussion. I'll clean things up and improve the tests if the general principles are agreed upon.\r\n\r\nAlso note that of course none of the IO classes have been updated yet."},"comment":{"url":"https://api.github.com/repos/NeuralEnsemble/python-neo/issues/comments/185380714","html_url":"https://github.com/NeuralEnsemble/python-neo/pull/210#issuecomment-185380714","issue_url":"https://api.github.com/repos/NeuralEnsemble/python-neo/issues/210","id":185380714,"user":{"login":"apdavison","id":260552,"avatar_url":"https://avatars.githubusercontent.com/u/260552?v=3","gravatar_id":"","url":"https://api.github.com/users/apdavison","html_url":"https://github.com/apdavison","followers_url":"https://api.github.com/users/apdavison/followers","following_url":"https://api.github.com/users/apdavison/following{/other_user}","gists_url":"https://api.github.com/users/apdavison/gists{/gist_id}","starred_url":"https://api.github.com/users/apdavison/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apdavison/subscriptions","organizations_url":"https://api.github.com/users/apdavison/orgs","repos_url":"https://api.github.com/users/apdavison/repos","events_url":"https://api.github.com/users/apdavison/events{/privacy}","received_events_url":"https://api.github.com/users/apdavison/received_events","type":"User","site_admin":false},"created_at":"2016-02-17T20:06:28Z","updated_at":"2016-02-17T20:06:28Z","body":"I'm going to merge this now, and then finish the work in the `apibreak` branch."}}