Save run-length encoded times in HDF5 files #98
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.
Currently the code is extremely slow in loading scientific data from HDF5 files. Even if you are interested in a few seconds of data and know the extrema of the time interval, the whole timestream of data (~4 hours) needs to be loaded in memory.
This PR adds the ability to save a Run-Length Encoded (RLE) version of the time stream of each polarimeter in the same HDF5 file. It is typically done when the SQLite3 database used by
DataStorageis created. Once the RLE timeline is saved, it will be used whenever scientific data for a specific range of time are requested either byDataFile.load_sciorDataStorage.load_sci. This should reduce the time needed for I/O considerably, expecially if the chunk of data is small.