Description
Is your feature request related to a problem? Please describe.
The latest version of the PL2FileReader API includes a function capable of retrieving subsets of data from an analog channel. Switching _get_analogsignal_chunks to this function should (hopefully) remove the need to load entire channels into self._analogsignal_cache (this takes up a LOT of memory) and might also speed things up.
Describe the solution you'd like
I want to do the following:
- Add content to the currently empty pypl2lib function "pl2_get_analog_data_subset"
- Replace the underlying DLL to the latest version
- In plexon2rawio.py, add code to retrieve fragment (i.e., segment) information for each stream to the _parse_header function
- Rewrite _get_analogsignal_chunks to use the subset function in conjunction with fragment information in lieu of the present cached solution
- Run tests to check whether the new method is faster
Describe alternatives you've considered
There are none that I can think of.
Related Question
What is the proper way to handle requests that exceed the limits of a recording's segments? For example, suppose I have a multi-trial recording in which 2 recording segments run from [0, 10] and [50, 60] (units in seconds). Suppose the user requests data from [5, 15] seconds -- obviously we have data from [5, 10] from the first segment. But for the interval [10, 15] -- do we just return zeros?