21
21
self._test_create_fitshdu(compression=True)
23
def test_create_fitshdu_from_filename(self):
24
"""Regression test on `FitsHDU.fromfile`"""
26
# Build up a simple test FITS file
28
phdu = fits.PrimaryHDU(data=a)
29
phdu.header['TEST1'] = 'A'
30
phdu.header['TEST2'] = 'B'
31
imghdu = fits.ImageHDU(data=a + 1)
32
phdu.header['TEST3'] = 'C'
33
phdu.header['TEST4'] = 'D'
35
hdul = fits.HDUList([phdu, imghdu])
36
hdul.writeto(self.temp('test.fits'))
38
fitshdu = fits.FitsHDU.fromfile(self.temp('test.fits'))
39
hdul2 = fitshdu.hdulist
41
assert len(hdul2) == 2
42
assert fits.FITSDiff(hdul, hdul2).identical
23
44
def _test_create_fitshdu(self, compression=False):
24
hdul_orig = pyfits.open(self.data('test0.fits'),
25
do_not_scale_image_data=True)
45
hdul_orig = fits.open(self.data('test0.fits'),
46
do_not_scale_image_data=True)
27
fitshdu = pyfits.FitsHDU.fromhdulist(hdul_orig, compress=compression)
48
fitshdu = fits.FitsHDU.fromhdulist(hdul_orig, compress=compression)
28
49
# Just to be meta, let's append to the same hdulist that the fitshdu
30
51
hdul_orig.append(fitshdu)
31
52
hdul_orig.writeto(self.temp('tmp.fits'), clobber=True)
34
hdul = pyfits.open(self.temp('tmp.fits'))
35
assert_true(isinstance(hdul[-1], pyfits.FitsHDU))
55
hdul = fits.open(self.temp('tmp.fits'))
56
assert isinstance(hdul[-1], fits.FitsHDU)
37
58
wrapped = hdul[-1].hdulist
38
assert_true(isinstance(wrapped, pyfits.HDUList))
59
assert isinstance(wrapped, fits.HDUList)
40
assert_equal(hdul_orig.info(output=False), wrapped.info(output=False))
41
assert_true((hdul[1].data == wrapped[1].data).all())
42
assert_true((hdul[2].data == wrapped[2].data).all())
43
assert_true((hdul[3].data == wrapped[3].data).all())
44
assert_true((hdul[4].data == wrapped[4].data).all())
61
assert hdul_orig.info(output=False) == wrapped.info(output=False)
62
assert (hdul[1].data == wrapped[1].data).all()
63
assert (hdul[2].data == wrapped[2].data).all()
64
assert (hdul[3].data == wrapped[3].data).all()
65
assert (hdul[4].data == wrapped[4].data).all()