Install Python 3.9.0 (not bigger!) because of the sonpy dependency. I use exactly 3.9.0.
pip install neo (and probably some other packages, @stevevanhooser, please record what packages you needed when you're doing a fresh install)
Run ndr.reader.neo.insert_python_path()
Use run(ndr.test.reader.neo.automatedTest); and run(ndr.test.reader.ced_smr.automatedTest); to run the tests.
Questions
ndr.reader.neo.insert_python_path() line needs to be put somewhere on initialization of NDR. What's a good place for this?
Remaining TODOs:
[x] l101210-001-02.nev file we cannot rename the extension to ns2 (the reader will complain)! however our reader doesn't understand nev extensions! What we do is leave the filename as it is, and call utils_get_example('l101210-001-02.ns2');.
I will try to rename these examples into the example.extension format, and think of what we can do to make this more intuitive.
[x] Organize Readmes, write more Readmes.
[ ] Reorganize the test structure, would be nice to have test utils as a single class.
[ ] Check how we can run automated tests for all readers at the same time.
[ ] Write more tests.
[ ] Think of what to do with blocks & sections (probably worth leaving it up to the first person who will stumble upon multiple blocks in a file, then they will know what's the comfortable api for that; creating neo.block_and_section_to_section_index() function like we discussed is a good idea too).
[x] Go through #todos in code.
[ ] Probably override mfdaq_channeltypes, mfdaq_prefix, mfdaq_type methods to show that we only have 3 channel types with Neo ("analog_in", "event", "marker").
Helpful notes for further development
Unlike other readers, Neo expects channel_names (device channel names) as an argument in each method.
Use the uneval package, it's good for creating tests.
Instructions
Python 3.9.0
(not bigger!) because of thesonpy
dependency. I use exactly3.9.0
.pip install neo
(and probably some other packages, @stevevanhooser, please record what packages you needed when you're doing a fresh install)ndr.reader.neo.insert_python_path()
run(ndr.test.reader.neo.automatedTest);
andrun(ndr.test.reader.ced_smr.automatedTest);
to run the tests.Questions
ndr.reader.neo.insert_python_path()
line needs to be put somewhere on initialization of NDR. What's a good place for this?Remaining TODOs:
l101210-001-02.nev
file we cannot rename the extension to ns2 (the reader will complain)! however our reader doesn't understand nev extensions! What we do is leave the filename as it is, and callutils_get_example('l101210-001-02.ns2');
. I will try to rename these examples into theexample.extension
format, and think of what we can do to make this more intuitive.neo.block_and_section_to_section_index()
function like we discussed is a good idea too).mfdaq_channeltypes
,mfdaq_prefix
,mfdaq_type
methods to show that we only have 3 channel types with Neo ("analog_in"
,"event"
,"marker"
).Helpful notes for further development
channel_names
(device channel names) as an argument in each method.uneval
package, it's good for creating tests.