There are number of limitations that arise when using astropy's FITS reader:
When one needs to go to the particular snapshot in one file, they need to open and close all of the previous HDUs. That means decoding possibly large binary table and then immediately closing it. This process can be avoided for the case when one might need to read only the header and then skip HDU immideately.
When one needs to read only the particular line(s) of binary table, they may not need to decode the whole table. It would be more efficient to jump to a particular position in this table and start decoding from there. It should work since each column of the table has fixed length.
The only problem with that is the fact that decoding with python would be incredibly slow. One needs to write their own FITS file reader from scratch in something like C++ (or C, Rust and similar).
There are number of limitations that arise when using astropy's FITS reader:
The only problem with that is the fact that decoding with python would be incredibly slow. One needs to write their own FITS file reader from scratch in something like C++ (or C, Rust and similar).