[WIP]: Add MaxTwoRecordingInterface #221
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fix #215
WIP while considering best way to handle certain issues, like the HDF5 plugin stuff. Sometimes it also causes a segmentation fault during the test runs.
EDIT: splintered MaxOne into #222 - still encountering various segmentation fault issues with MaxTwo that are likely to take a while to pin down and resolve. Putting this on the back burner for now.
Motivation
Adding a MaxOneRecordingInterface and MaxTwoRecordingInterface. They are two separate versions of the file format. The second one is like a nested version of the first but therefore has sufficiently different structure and input arguments to merit having a separate interface. In particular, the MaxTwo has multi-stream behavior much like Blackrock (though where Blackrock saves the different streams to different files, these are all combined into a single file) and thus following the precedence established there where the interface connects to only a single stream at a time (since each stream may actually contain different 'types' of data, like LFP or environmental electrodes) since and it is the users responsibility to identify which count for the
RecordingInterface.That's only the first difficulty. As indicated by the comments at https://github.com/NeuralEnsemble/python-neo/blob/master/neo/rawio/maxwellrawio.py#L214-L226, reading any data from these files requires setting up a specific HDF5 compression plugin ahead of time. Still thinking about the best way to handle that for the user (right now, assuming they set it up themselves ahead of time).
No rich metadata/annotations besides one little thing about the version of Maxwell used to run the recordings. No session start time.
Example output file: MaxOneRecordingInterface_maxone.zip and MaxTwoRecordingInterface_maxtwo-recording_name=rec0000-stream_name=well000.zip
How to test the behavior?
Test on GIN data added. Also spanning the entire set of recording session + stream IDs (SI only tests a single pair).
Checklist
fix #XXXwhereXXXis the issue number?