Split data access from file (or stream) I/O concerns
Accessor currently mixes file I/O and ndarray access; subclassing by array type is desirable so this currently requires multiple inheritance
- currently, file logic only exists in init/del methods
- so maybe file logic (and eventually stream grabbing) becomes AccessorGenerator
- single API hit for loading file into session state i.e. root of a new data tree
- similarly, single hit for exporting each downstream in-memory accessor, e.g. pass accessor to storage writer class
- minimal metadata in the accessor e.g. pixel scale
- session needs API hit to manually export and clear accessor memory; there could be garbage-collection mechanism later
- or clear every time file/stream is tapped for input, but enforce that something downstream is stored
- or generic HDF5 container for all computed data
Refactor accessor and session, expose API for file I/O and cleanup