py_neuromodulation
py_neuromodulation copied to clipboard
Create a Stream Metadata class
There are many lines of code dedicated to retrieving and fiddling with data that is inherent to the input stream/file itself (e.g channel names, sampling frequency) and not with data processing settings. This means it should not go into the Settings class, but rather than having it floating around in pieces I think it would be better to calculate it once in a single, well-localized place and then look it up in the same place always.
Also when we handle more types of files/datastream formats, there will be a bunch of optional metadata that we potentially might want to handle. LSL adheres to XDF standard it seems: https://github.com/sccn/xdf/wiki/Meta-Data
Having the metadata atomized like it's right now also makes it difficult to construct Preprocessors generically like I did for Features. For example, if one takes the channel names but the other one doesn't.
Another added bonus is that it will probably help with GUI design too. For example for sure one of the key metadata pieces the stream will have it's whether it's a file or a datastream.