1 from __future__
import absolute_import, division, print_function
2 from builtins
import input
3 from builtins
import range
7 import lsst.afw.image
as afwImage
8 import lsst.afw.display.ds9
as ds9
13 with pyfits.open(filename)
as pf:
15 if hdu.name ==
"PRIMARY":
17 elif hdu.name ==
"LDAC_IMHEAD":
20 elif hdu.name ==
"LDAC_OBJECTS":
21 print(
"%d objects" % (len(hdu.data)))
23 ttype = [k
for k, v
in hdu.header.items()
if v ==
"VIGNET"]
25 raise RuntimeError(
"Unable to find a VIGNET column")
26 vignetCol = int(re.search(
r"^TTYPE(\d+)$", ttype[0]).
group(1)) - 1
28 for row
in range(len(hdu.data)):
29 pixelData = hdu.data[row][vignetCol]
30 bad = np.where(pixelData < -1e29)
31 sat = np.where(pixelData > 99e3)
33 mi = afwImage.MaskedImageF(*hdu.data[row][vignetCol].shape)
35 im.getArray()[:] = pixelData
36 msk = mi.getMask().getArray()
37 msk[bad] = afwImage.MaskU.getPlaneBitMask(
"BAD")
38 msk[sat] = afwImage.MaskU.getPlaneBitMask(
"SAT")
39 ds9.mtv(mi, title=row)
44 return psfex.Prefs(filename, md)
def readSExtractor(filename)
def readPrefs(filename, md=None)
table::Key< table::Array< int > > group