def enable_stpyfits(): global STPYFITS_ENABLED if not STPYFITS_ENABLED: fits.register_hdu(ConstantValuePrimaryHDU) fits.register_hdu(ConstantValueImageHDU) STPYFITS_ENABLED = True
class IdiHDU(pyfits.PrimaryHDU): @classmethod def match_header(cls, header): try: keyword = header.cards[0].keyword except: keyword = header.ascard[0].key pass return (keyword == 'SIMPLE' and 'GROUPS' in header and header['GROUPS'] == True and 'NAXIS' in header and header['NAXIS'] == 0) pyfits.register_hdu(IdiHDU) class IdiData: def __init__(self, idifiles): hdulist = pyfits.open(idifiles[0]) # Fundamentals header = hdulist['ARRAY_GEOMETRY'].header self.obscode = header['OBSCODE'] self.n_stokes = header['NO_STKD'] self.stk_1 = header['STK_1'] self.n_band = header['NO_BAND'] self.n_chan = header['NO_CHAN'] self.ref_freq = header['REF_FREQ'] self.chan_bw = header['CHAN_BW']
except ImportError: raise ImportError("asdf requires jsonschema") try: import numpy as _ except ImportError: raise ImportError("asdf requires numpy") from .asdf import AsdfFile from .asdftypes import CustomType from .extension import AsdfExtension from .stream import Stream from . import commands from jsonschema import ValidationError class ValidationError(ValidationError): pass try: from astropy.io import fits except ImportError: pass else: from .fits_embed import _AsdfHDU fits.register_hdu(_AsdfHDU) open = AsdfFile.open
def enable_stpyfits(): global STPYFITS_ENABLED if not STPYFITS_ENABLED: fits.register_hdu(ConstantValuePrimaryHDU) fits.register_hdu(ConstantValueImageHDU) STPYFITS_ENABLED = True