Description
Is your feature request related to a problem? Please describe.
Initializing PlexonRawIO
can take 20 minutes to parse the headers for a real file. This is a problem e.g. in NWB GUIDE, where we need to get metadata. This requires initialization of every session, which would amount to making the user wait for hours in the middle of building the conversion just to fetch the metadata from each session.
Describe the solution you'd like
I would like to keep the metadata parsing in the constructor and move the expensive heading to the read command. This would use caching to ensure it is only executed once, even when the read command is used multiple times. This would not improve the speed, but would delay the long wait until a time that is much better for usability.
Describe alternatives you've considered
It would be great to also improve the efficiency of the header parsing code if possible.