Open stevevanhooser opened 3 years ago
To see a demo of an ndr reader opening and reading a file, see ndr.reader.test.intan_rhd.readertest()
The ndr readers provide access to the various channels that are read by data acquisition devices. Typically, these are a subset of a) analog inputs that are regularly or irregularly sampled with time, b) records of analog outputs that were produced at given times, c) digital input signals that were acquired (usually just a small number of channels, like 16), d) records of digital outputs that were acquired (again, usually a smallish number), e) "events", which are timestamps and can also have a code associated with them, f) images (we don't deal with these in NDR yet, but soon), and g) text inputs that arrive a particular time.
It would be instructive, after examining the test code above, to read the class
ndr.reader
which describes all of the functionality that an ndr.reader
subclass needs to have.
Most of the reader subclasses depend on third party or custom code that actually deals with the file formats. We try to not re-invent the wheel if we don't have to. We put some of our code that reads from these files in the package ndr.format
, and we include third-party libraries that are needed in the lib
subdirectory of the repository. Many of these libraries were written before Matlab had the ability to organize files into packages, so those functions just get added to the path.
Finally, we already have written code to read these blackrock files. They are in NDI at
https://github.com/VH-Lab/NDI-matlab/blob/master/%2Bndi/%2Bdaq/%2Breader/%2Bmfdaq/blackrock.m
and will be really instructive for creating the NDR reader for Blackrock files.
Nice you're adding Blackrock too! We'll be able to compare it with the Neo implementation.
Need to add an ndr.reader subclass for Blackrock NeuroTech