LSSTApplications  19.0.0-10-g920eed2,19.0.0-11-g48a0200+2,19.0.0-18-gfc4e62b+13,19.0.0-2-g3b2f90d+2,19.0.0-2-gd671419+5,19.0.0-20-g5a5a17ab+11,19.0.0-21-g2644856+13,19.0.0-23-g84eeccb+1,19.0.0-24-g878c510+1,19.0.0-25-g6c8df7140,19.0.0-25-gb330496+1,19.0.0-3-g2b32d65+5,19.0.0-3-g8227491+12,19.0.0-3-g9c54d0d+12,19.0.0-3-gca68e65+8,19.0.0-3-gcfc5f51+5,19.0.0-3-ge110943+11,19.0.0-3-ge74d124,19.0.0-3-gfe04aa6+13,19.0.0-30-g9c3fd16+1,19.0.0-4-g06f5963+5,19.0.0-4-g3d16501+13,19.0.0-4-g4a9c019+5,19.0.0-4-g5a8b323,19.0.0-4-g66397f0+1,19.0.0-4-g8278b9b+1,19.0.0-4-g8557e14,19.0.0-4-g8964aba+13,19.0.0-4-ge404a01+12,19.0.0-5-g40f3a5a,19.0.0-5-g4db63b3,19.0.0-5-gfb03ce7+13,19.0.0-6-gbaebbfb+12,19.0.0-61-gec4c6e08+1,19.0.0-7-g039c0b5+11,19.0.0-7-gbea9075+4,19.0.0-7-gc567de5+13,19.0.0-71-g41c0270,19.0.0-9-g2f02add+1,19.0.0-9-g463f923+12,w.2020.22
LSSTDataManagementBasePackage
utils.py
Go to the documentation of this file.
1 import re
2 import numpy as np
3 from astropy.io import fits
4 import lsst.afw.image as afwImage
5 import lsst.afw.display as afwDisplay
6 import lsst.meas.extensions.psfex as psfex
7 
8 afwDisplay.setDefaultMaskTransparency(75)
9 
10 
11 def readSExtractor(filename):
12  with fits.open(filename) as pf:
13  for hdu in pf:
14  if hdu.name == "PRIMARY":
15  pass
16  elif hdu.name == "LDAC_IMHEAD":
17  hdr = hdu.data[0][0] # the fits header from the original fits image
18  print(hdr[3])
19  elif hdu.name == "LDAC_OBJECTS":
20  print("%d objects" % (len(hdu.data)))
21  # Find the VIGNET column
22  ttype = [k for k, v in hdu.header.items() if v == "VIGNET"]
23  if not ttype:
24  raise RuntimeError("Unable to find a VIGNET column")
25  vignetCol = int(re.search(r"^TTYPE(\d+)$", ttype[0]).group(1)) - 1
26 
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)
31  pixelData[bad] = 0.0
32  mi = afwImage.MaskedImageF(*hdu.data[row][vignetCol].shape)
33  im = mi.getImage()
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)
39  input("Next ")
40 
41 
42 def readPrefs(filename, md=None):
43  return psfex.Prefs(filename, md)
lsst::afw::image
Backwards-compatibility support for depersisting the old Calib (FluxMag0/FluxMag0Err) objects.
Definition: imageAlgorithm.dox:1
lsst::meas::extensions::psfex.utils.readPrefs
def readPrefs(filename, md=None)
Definition: utils.py:42
lsst::afw.display
Definition: __init__.py:1
lsst::afw.display.ds9.mtv
def mtv(data, frame=None, title="", wcs=None, *args, **kwargs)
Definition: ds9.py:93
lsst::meas::extensions::psfex
Definition: PsfexPsf.h:31
lsst::meas::extensions::psfex.utils.readSExtractor
def readSExtractor(filename)
Definition: utils.py:11
group
table::Key< table::Array< int > > group
Definition: PsfexPsf.cc:359