12 with fits.open(filename)
as pf:
14 if hdu.name ==
"PRIMARY":
16 elif hdu.name ==
"LDAC_IMHEAD":
19 elif hdu.name ==
"LDAC_OBJECTS":
20 print(
"%d objects" % (len(hdu.data)))
22 ttype = [k
for k, v
in hdu.header.items()
if v ==
"VIGNET"]
24 raise RuntimeError(
"Unable to find a VIGNET column")
25 vignetCol = int(re.search(
r"^TTYPE(\d+)$", ttype[0]).
group(1)) - 1
27 for row
in range(len(hdu.data)):
28 pixelData = hdu.data[row][vignetCol]
29 bad = np.where(pixelData < -1e29)
30 sat = np.where(pixelData > 99e3)
32 mi = afwImage.MaskedImageF(*hdu.data[row][vignetCol].shape)
34 im.getArray()[:] = pixelData
35 msk = mi.getMask().getArray()
36 msk[bad] = afwImage.MaskU.getPlaneBitMask(
"BAD")
37 msk[sat] = afwImage.MaskU.getPlaneBitMask(
"SAT")
38 afwDisplay.Display().
mtv(mi, title=row)