def testwritetoConvienceFunction(self): """Test the writeto convience function in both the fits and stpyfits namespace.""" hdul = stpyfits.open(self.data('cdva2.fits')) hdul1 = fits.open(self.data('cdva2.fits')) header = hdul[0].header.copy() header['NAXIS'] = 0 stpyfits.writeto(self.temp('new.fits'), hdul[0].data, header, clobber=True) fits.writeto(self.temp('new1.fits'), hdul1[0].data,hdul1[0].header, clobber=True) hdul.close() hdul1.close() info1 = fits.info(self.temp('new.fits'), output=False) info2 = stpyfits.info(self.temp('new.fits'), output=False) info3 = fits.info(self.temp('new1.fits'), output=False) info4 = stpyfits.info(self.temp('new1.fits'), output=False) assert_equal(info1, [(0, 'PRIMARY', 'PrimaryHDU', 6, (), '', '')]) assert_equal(info2, [(0, 'PRIMARY', 'PrimaryHDU', 6, (10, 10), 'int32', '')]) assert_equal(info3, [(0, 'PRIMARY', 'PrimaryHDU', 6, (), '', '')]) assert_equal(info4, [(0, 'PRIMARY', 'PrimaryHDU', 6, (10, 10), 'uint8', '')])
def testInfoConvienceFunction(self): """Test the info convience function in both the fits and stpyfits namespace.""" assert_equal( stpyfits.info(self.data('o4sp040b0_raw.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 215, (), '', ''), (1, 'SCI', 'ImageHDU', 141, (62, 44), 'int16', ''), (2, 'ERR', 'ImageHDU', 71, (62, 44), 'int16', ''), (3, 'DQ', 'ImageHDU', 71, (62, 44), 'int16', ''), (4, 'SCI', 'ImageHDU', 141, (62, 44), 'int16', ''), (5, 'ERR', 'ImageHDU', 71, (62, 44), 'int16', ''), (6, 'DQ', 'ImageHDU', 71, (62, 44), 'int16', '')]) assert_equal( fits.info(self.data('o4sp040b0_raw.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 215, (), '', ''), (1, 'SCI', 'ImageHDU', 141, (62, 44), 'int16', ''), (2, 'ERR', 'ImageHDU', 71, (), '', ''), (3, 'DQ', 'ImageHDU', 71, (), '', ''), (4, 'SCI', 'ImageHDU', 141, (62, 44), 'int16', ''), (5, 'ERR', 'ImageHDU', 71, (), '', ''), (6, 'DQ', 'ImageHDU', 71, (), '', '')]) assert_equal( stpyfits.info(self.data('cdva2.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 7, (10, 10), 'int32', '')]) assert_equal( fits.info(self.data('cdva2.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 7, (), '', '')])
def testInfoConvienceFunction(self): """Test the info convience function in both the fits and stpyfits namespace.""" assert_equal( stpyfits.info(self.data('o4sp040b0_raw.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 215, (), '', ''), (1, 'SCI', 'ImageHDU', 141, (62, 44), 'int16', ''), (2, 'ERR', 'ImageHDU', 71, (62, 44), 'int16', ''), (3, 'DQ', 'ImageHDU', 71, (62, 44), 'int16', ''), (4, 'SCI', 'ImageHDU', 141, (62, 44), 'int16', ''), (5, 'ERR', 'ImageHDU', 71, (62, 44), 'int16', ''), (6, 'DQ', 'ImageHDU', 71, (62, 44), 'int16', '')]) assert_equal(fits.info(self.data('o4sp040b0_raw.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 215, (), '', ''), (1, 'SCI', 'ImageHDU', 141, (62, 44), 'int16', ''), (2, 'ERR', 'ImageHDU', 71, (), '', ''), (3, 'DQ', 'ImageHDU', 71, (), '', ''), (4, 'SCI', 'ImageHDU', 141, (62, 44), 'int16', ''), (5, 'ERR', 'ImageHDU', 71, (), '', ''), (6, 'DQ', 'ImageHDU', 71, (), '', '')]) assert_equal(stpyfits.info(self.data('cdva2.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 7, (10, 10), 'int32', '')]) assert_equal(fits.info(self.data('cdva2.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 7, (), '', '')])
def testwritetoConvienceFunction(self): """Test the writeto convience function in both the fits and stpyfits namespace.""" hdul = stpyfits.open(self.data('cdva2.fits')) hdul1 = fits.open(self.data('cdva2.fits')) header = hdul[0].header.copy() header['NAXIS'] = 0 stpyfits.writeto(self.temp('new.fits'), hdul[0].data, header, clobber=True) fits.writeto(self.temp('new1.fits'), hdul1[0].data, hdul1[0].header, clobber=True) hdul.close() hdul1.close() info1 = fits.info(self.temp('new.fits'), output=False) info2 = stpyfits.info(self.temp('new.fits'), output=False) info3 = fits.info(self.temp('new1.fits'), output=False) info4 = stpyfits.info(self.temp('new1.fits'), output=False) assert_equal(info1, [(0, 'PRIMARY', 'PrimaryHDU', 6, (), '', '')]) assert_equal(info2, [(0, 'PRIMARY', 'PrimaryHDU', 6, (10, 10), 'int32', '')]) assert_equal(info3, [(0, 'PRIMARY', 'PrimaryHDU', 6, (), '', '')]) assert_equal(info4, [(0, 'PRIMARY', 'PrimaryHDU', 6, (10, 10), 'uint8', '')])
def testHDUListFlushMethod(self): """Test the flush method of HDUList in both the fits and stpyfits namespace.""" hdu = stpyfits.PrimaryHDU() hdu1 = stpyfits.ImageHDU() hdu.data = np.zeros((10, 10), dtype=np.int32) hdu1.data = hdu.data + 2 hdu.header.set('BITPIX', 32) hdu1.header.set('BITPIX', 32) hdu.header.set('NAXIS', 2) hdu.header.set('NAXIS1', 10, 'length of constant array axis 1', after='NAXIS') hdu.header.set('NAXIS2', 10, 'length of constant array axis 2', after='NAXIS1') hdu.header.set('PIXVALUE', 0, 'Constant pixel value') hdu1.header.set('PIXVALUE', 2, 'Constant pixel value', after='GCOUNT') hdu1.header.set('NAXIS', 2) hdu1.header.set('NAXIS1', 10, 'length of constant array axis 1', after='NAXIS') hdu1.header.set('NAXIS2', 10, 'length of constant array axis 2', after='NAXIS1') hdul = stpyfits.HDUList([hdu, hdu1]) hdul.writeto(self.temp('new.fits'), clobber=True) hdul = stpyfits.open(self.temp('new.fits'), 'update') d = np.arange(10, dtype=np.int32) d = d * 0 d = d + 3 hdul[0].data = d hdul.flush() hdul.close() assert_equal(stpyfits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 6, (10,), 'int32', ''), (1, '', 'ImageHDU', 8, (10, 10), 'int32', '')]) assert_equal(fits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 6, (), '', ''), (1, '', 'ImageHDU', 8, (), '', '')]) hdul1 = stpyfits.open(self.temp('new.fits')) hdul2 = fits.open(self.temp('new.fits')) assert_equal(hdul1[0].header['NAXIS'], 1) assert_equal(hdul1[0].header['NAXIS1'], 10) assert_equal(hdul1[0].header['PIXVALUE'], 3) assert_raises(KeyError, lambda: hdul1[0].header['NPIX1']) assert_true((hdul1[0].data == (np.zeros(10, dtype=np.int32) + 3)).all()) assert_equal(hdul2[0].header['NAXIS'], 0) assert_equal(hdul2[0].header['NPIX1'], 10) assert_equal(hdul2[0].header['PIXVALUE'], 3) assert_raises(KeyError, lambda: hdul2[0].header['NAXIS1']) assert_equal(hdul2[0].data, None) hdul1.close() hdul2.close() hdul3 = stpyfits.open(self.temp('new.fits'), 'update') d = np.arange(15, dtype=np.int32) d = d * 0 d = d + 4 hdul3[0].data = d hdul3.close() # Note that close calls flush assert_equal(stpyfits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 6, (15,), 'int32', ''), (1, '', 'ImageHDU', 8, (10, 10), 'int32', '')]) assert_equal(fits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 6, (), '', ''), (1, '', 'ImageHDU', 8, (), '', '')]) hdul1 = stpyfits.open(self.temp('new.fits')) hdul2 = fits.open(self.temp('new.fits')) assert_equal(hdul1[0].header['NAXIS'], 1) assert_equal(hdul1[0].header['NAXIS1'], 15) assert_equal(hdul1[0].header['PIXVALUE'], 4) assert_raises(KeyError, lambda: hdul1[0].header['NPIX1']) assert_true((hdul1[0].data == (np.zeros(15, dtype=np.int32) + 4)).all()) assert_equal(hdul2[0].header['NAXIS'], 0) assert_equal(hdul2[0].header['NPIX1'], 15) assert_equal(hdul2[0].header['PIXVALUE'], 4) assert_raises(KeyError, lambda: hdul2[0].header['NAXIS1']) assert_equal(hdul2[0].data, None) hdul1.close() hdul2.close()
def testHDUListWritetoMethod(self): """Test the writeto method of HDUList in both the fits and stpyfits namespace.""" hdu = stpyfits.PrimaryHDU() hdu1 = stpyfits.ImageHDU() hdu.data = np.zeros((10, 10), dtype=np.int32) hdu1.data = hdu.data + 2 hdu.header.set('BITPIX', 32) hdu1.header.set('BITPIX', 32) hdu.header.set('NAXIS', 2) hdu.header.set('NAXIS1', 10, 'length of constant array axis 1', after='NAXIS') hdu.header.set('NAXIS2', 10, 'length of constant array axis 2', after='NAXIS1') hdu.header.set('PIXVALUE', 0, 'Constant pixel value') hdu1.header.set('PIXVALUE', 2, 'Constant pixel value', after='GCOUNT') hdu1.header.set('NAXIS', 2) hdu1.header.set('NAXIS1', 10, 'length of constant array axis 1', after='NAXIS') hdu1.header.set('NAXIS2', 10, 'length of constant array axis 2', after='NAXIS1') hdul = stpyfits.HDUList([hdu,hdu1]) hdul.writeto(self.temp('new.fits'), clobber=True) assert_equal(stpyfits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 7, (10, 10), 'int32', ''), (1, '', 'ImageHDU', 8, (10, 10), 'int32', '')]) assert_equal(fits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 7, (), '', ''), (1, '', 'ImageHDU', 8, (), '', '')]) hdul1 = stpyfits.open(self.temp('new.fits')) hdul2 = fits.open(self.temp('new.fits')) assert_equal(hdul1[0].header['NAXIS'], 2) assert_equal(hdul1[0].header['NAXIS1'], 10) assert_equal(hdul1[0].header['NAXIS2'], 10) assert_equal(hdul1[0].header['PIXVALUE'], 0) assert_raises(KeyError, lambda: hdul1[0].header['NPIX1']) assert_raises(KeyError, lambda: hdul1[0].header['NPIX2']) assert_true((hdul1[0].data == np.zeros((10, 10), dtype=np.int32)).all()) assert_equal(hdul1[1].header['NAXIS'], 2) assert_equal(hdul1[1].header['NAXIS1'], 10) assert_equal(hdul1[1].header['NAXIS2'], 10) assert_equal(hdul1[1].header['PIXVALUE'], 2) assert_raises(KeyError, lambda: hdul1[1].header['NPIX1']) assert_raises(KeyError, lambda: hdul1[1].header['NPIX2']) assert_true((hdul1[1].data == (np.zeros((10, 10), dtype=np.int32) + 2)).all()) assert_equal(hdul2[0].header['NAXIS'], 0) assert_equal(hdul2[0].header['NPIX1'], 10) assert_equal(hdul2[0].header['NPIX2'], 10) assert_equal(hdul2[0].header['PIXVALUE'], 0) assert_raises(KeyError, lambda: hdul2[0].header['NAXIS1']) assert_raises(KeyError, lambda: hdul2[0].header['NAXIS2']) assert_equal(hdul2[0].data, None) assert_equal(hdul2[1].header['NAXIS'], 0) assert_equal(hdul2[1].header['NPIX1'], 10) assert_equal(hdul2[1].header['NPIX2'], 10) assert_equal(hdul2[1].header['PIXVALUE'], 2) assert_raises(KeyError, lambda: hdul2[1].header['NAXIS1']) assert_raises(KeyError, lambda: hdul2[1].header['NAXIS2']) hdul1.close() hdul2.close()
def testupdateConvienceFunction(self): """Test the update convience function in both the fits and stpyfits namespace.""" hdul = stpyfits.open(self.data('cdva2.fits')) hdul1 = fits.open(self.data('cdva2.fits')) header = hdul[0].header.copy() header['NAXIS'] = 0 stpyfits.writeto(self.temp('new.fits'), hdul[0].data, header, clobber=True) hdu = stpyfits.ImageHDU() hdu1 = fits.ImageHDU() hdu.data = hdul[0].data hdu1.data = hdul1[0].data hdu.header.set('BITPIX', 32) hdu1.header.set('BITPIX', 32) hdu.header.set('NAXIS', 0) hdu.header.set('PIXVALUE', 1, 'Constant pixel value', after='GCOUNT') hdu1.header.set('PIXVALUE', 1, 'Constant pixel value', after='GCOUNT') hdu.header.set('NPIX1', 10, 'length of constant array axis 1', after='GCOUNT') hdu.header.set('NPIX2', 10, 'length of constant array axis 2', after='NPIX1') stpyfits.append(self.temp('new.fits'), hdu.data, hdu.header) d = hdu.data * 0 stpyfits.update(self.temp('new.fits'), d, hdu.header, 1) assert_equal(fits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 7, (), '', ''), (1, '', 'ImageHDU', 8, (), '', '')]) assert_equal(stpyfits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 7, (10, 10), 'int32', ''), (1, '', 'ImageHDU', 8, (10, 10), 'int32', '')]) hdul7 = stpyfits.open(self.temp('new.fits')) assert_equal(hdul7[1].header['NAXIS'], 2) assert_equal(hdul7[1].header['NAXIS1'], 10) assert_equal(hdul7[1].header['NAXIS2'], 10) assert_equal(hdul7[1].header['PIXVALUE'], 0) assert_raises(KeyError, lambda: hdul7[1].header['NPIX1']) assert_raises(KeyError, lambda: hdul7[1].header['NPIX2']) assert_true((hdul7[1].data == np.zeros((10, 10), dtype=np.int32)).all()) hdul8 = fits.open(self.temp('new.fits')) assert_equal(hdul8[1].header['NAXIS'], 0) assert_equal(hdul8[1].header['NPIX1'], 10) assert_equal(hdul8[1].header['NPIX2'], 10) assert_equal(hdul8[1].header['PIXVALUE'], 0) assert_raises(KeyError, lambda: hdul8[1].header['NAXIS1']) assert_raises(KeyError, lambda: hdul8[1].header['NAXIS2']) assert_equal(hdul8[1].data, None) hdul7.close() hdul8.close() hdul.close() hdul1.close()
def testHDUListFlushMethod(self): """Test the flush method of HDUList in both the fits and stpyfits namespace.""" hdu = stpyfits.PrimaryHDU() hdu1 = stpyfits.ImageHDU() hdu.data = np.zeros((10, 10), dtype=np.int32) hdu1.data = hdu.data + 2 hdu.header.set('BITPIX', 32) hdu1.header.set('BITPIX', 32) hdu.header.set('NAXIS', 2) hdu.header.set('NAXIS1', 10, 'length of constant array axis 1', after='NAXIS') hdu.header.set('NAXIS2', 10, 'length of constant array axis 2', after='NAXIS1') hdu.header.set('PIXVALUE', 0, 'Constant pixel value') hdu1.header.set('PIXVALUE', 2, 'Constant pixel value', after='GCOUNT') hdu1.header.set('NAXIS', 2) hdu1.header.set('NAXIS1', 10, 'length of constant array axis 1', after='NAXIS') hdu1.header.set('NAXIS2', 10, 'length of constant array axis 2', after='NAXIS1') hdul = stpyfits.HDUList([hdu, hdu1]) hdul.writeto(self.temp('new.fits'), clobber=True) hdul = stpyfits.open(self.temp('new.fits'), 'update') d = np.arange(10, dtype=np.int32) d = d * 0 d = d + 3 hdul[0].data = d hdul.flush() hdul.close() assert_equal(stpyfits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 6, (10, ), 'int32', ''), (1, '', 'ImageHDU', 8, (10, 10), 'int32', '')]) assert_equal(fits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 6, (), '', ''), (1, '', 'ImageHDU', 8, (), '', '')]) hdul1 = stpyfits.open(self.temp('new.fits')) hdul2 = fits.open(self.temp('new.fits')) assert_equal(hdul1[0].header['NAXIS'], 1) assert_equal(hdul1[0].header['NAXIS1'], 10) assert_equal(hdul1[0].header['PIXVALUE'], 3) assert_raises(KeyError, lambda: hdul1[0].header['NPIX1']) assert_true( (hdul1[0].data == (np.zeros(10, dtype=np.int32) + 3)).all()) assert_equal(hdul2[0].header['NAXIS'], 0) assert_equal(hdul2[0].header['NPIX1'], 10) assert_equal(hdul2[0].header['PIXVALUE'], 3) assert_raises(KeyError, lambda: hdul2[0].header['NAXIS1']) assert_equal(hdul2[0].data, None) hdul1.close() hdul2.close() hdul3 = stpyfits.open(self.temp('new.fits'), 'update') d = np.arange(15, dtype=np.int32) d = d * 0 d = d + 4 hdul3[0].data = d hdul3.close() # Note that close calls flush assert_equal(stpyfits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 6, (15, ), 'int32', ''), (1, '', 'ImageHDU', 8, (10, 10), 'int32', '')]) assert_equal(fits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 6, (), '', ''), (1, '', 'ImageHDU', 8, (), '', '')]) hdul1 = stpyfits.open(self.temp('new.fits')) hdul2 = fits.open(self.temp('new.fits')) assert_equal(hdul1[0].header['NAXIS'], 1) assert_equal(hdul1[0].header['NAXIS1'], 15) assert_equal(hdul1[0].header['PIXVALUE'], 4) assert_raises(KeyError, lambda: hdul1[0].header['NPIX1']) assert_true( (hdul1[0].data == (np.zeros(15, dtype=np.int32) + 4)).all()) assert_equal(hdul2[0].header['NAXIS'], 0) assert_equal(hdul2[0].header['NPIX1'], 15) assert_equal(hdul2[0].header['PIXVALUE'], 4) assert_raises(KeyError, lambda: hdul2[0].header['NAXIS1']) assert_equal(hdul2[0].data, None) hdul1.close() hdul2.close()
def testHDUListWritetoMethod(self): """Test the writeto method of HDUList in both the fits and stpyfits namespace.""" hdu = stpyfits.PrimaryHDU() hdu1 = stpyfits.ImageHDU() hdu.data = np.zeros((10, 10), dtype=np.int32) hdu1.data = hdu.data + 2 hdu.header.set('BITPIX', 32) hdu1.header.set('BITPIX', 32) hdu.header.set('NAXIS', 2) hdu.header.set('NAXIS1', 10, 'length of constant array axis 1', after='NAXIS') hdu.header.set('NAXIS2', 10, 'length of constant array axis 2', after='NAXIS1') hdu.header.set('PIXVALUE', 0, 'Constant pixel value') hdu1.header.set('PIXVALUE', 2, 'Constant pixel value', after='GCOUNT') hdu1.header.set('NAXIS', 2) hdu1.header.set('NAXIS1', 10, 'length of constant array axis 1', after='NAXIS') hdu1.header.set('NAXIS2', 10, 'length of constant array axis 2', after='NAXIS1') hdul = stpyfits.HDUList([hdu, hdu1]) hdul.writeto(self.temp('new.fits'), clobber=True) assert_equal(stpyfits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 7, (10, 10), 'int32', ''), (1, '', 'ImageHDU', 8, (10, 10), 'int32', '')]) assert_equal(fits.info(self.temp('new.fits'), output=False), [(0, 'PRIMARY', 'PrimaryHDU', 7, (), '', ''), (1, '', 'ImageHDU', 8, (), '', '')]) hdul1 = stpyfits.open(self.temp('new.fits')) hdul2 = fits.open(self.temp('new.fits')) assert_equal(hdul1[0].header['NAXIS'], 2) assert_equal(hdul1[0].header['NAXIS1'], 10) assert_equal(hdul1[0].header['NAXIS2'], 10) assert_equal(hdul1[0].header['PIXVALUE'], 0) assert_raises(KeyError, lambda: hdul1[0].header['NPIX1']) assert_raises(KeyError, lambda: hdul1[0].header['NPIX2']) assert_true((hdul1[0].data == np.zeros((10, 10), dtype=np.int32)).all()) assert_equal(hdul1[1].header['NAXIS'], 2) assert_equal(hdul1[1].header['NAXIS1'], 10) assert_equal(hdul1[1].header['NAXIS2'], 10) assert_equal(hdul1[1].header['PIXVALUE'], 2) assert_raises(KeyError, lambda: hdul1[1].header['NPIX1']) assert_raises(KeyError, lambda: hdul1[1].header['NPIX2']) assert_true((hdul1[1].data == (np.zeros( (10, 10), dtype=np.int32) + 2)).all()) assert_equal(hdul2[0].header['NAXIS'], 0) assert_equal(hdul2[0].header['NPIX1'], 10) assert_equal(hdul2[0].header['NPIX2'], 10) assert_equal(hdul2[0].header['PIXVALUE'], 0) assert_raises(KeyError, lambda: hdul2[0].header['NAXIS1']) assert_raises(KeyError, lambda: hdul2[0].header['NAXIS2']) assert_equal(hdul2[0].data, None) assert_equal(hdul2[1].header['NAXIS'], 0) assert_equal(hdul2[1].header['NPIX1'], 10) assert_equal(hdul2[1].header['NPIX2'], 10) assert_equal(hdul2[1].header['PIXVALUE'], 2) assert_raises(KeyError, lambda: hdul2[1].header['NAXIS1']) assert_raises(KeyError, lambda: hdul2[1].header['NAXIS2']) hdul1.close() hdul2.close()