3 function to show a list of src footprints in a mosaic 5 from __future__
import absolute_import
7 from builtins
import str
8 from builtins
import range
16 from .
import matchFakes
23 make a ds9 mosaic for the given source list from the given exposure 25 stolen from psfMosaic.py on the sphinx documentation 27 img = exposure.getMaskedImage().getImage()
31 footBBox = src.getFootprint().getBBox()
32 subimg = lsst.afw.image.ImageF(img, footBBox,
33 lsst.afw.image.PARENT,
True)
34 footMask = lsst.afw.image.ImageU(footBBox)
35 src.getFootprint().insertIntoImage(footMask, 1, footBBox)
36 subimg *= footMask.convertF()
37 subImages.append(subimg)
38 labels.append(
'ID=%s' %
str(src.get(idname)))
48 mosaic = m.makeMosaic()
55 def main(root, visit, ccd, fakes=None, blends=False, listobj=16, filt=None):
57 butler = lsst.daf.persistence.Butler(root)
58 dataId = {
'visit': visit,
59 'ccd':
int(ccd)}
if filt
is None else {
'tract': visit,
64 src = matchFakes.getFakeSources(butler, dataId,
65 extraCols=(
'zeropoint'),
68 src = butler.get(
'src' if filt
is None else 'deepCoadd-src', dataId)
70 src = [s
for s
in src
if ((s.get(
'deblend.nchild') == 0) &
71 (s.get(
'parent') == 0))]
73 src = [s
for s
in src
if (s.get(
'deblend.nchild') == 0)]
75 exposure = butler.get(
'calexp' if filt
is None else 'deepCoadd', dataId)
77 if type(listobj)
is int:
78 listobj = numpy.random.choice(list(range(len(src))), listobj,
False)
80 srcList = [src[i]
for i
in listobj]
82 getMosaic(srcList, exposure,
'fakeId' if fakes
else 'id')
85 if __name__ ==
'__main__':
86 parser = argparse.ArgumentParser()
87 parser.add_argument(
'root', help=
"Root directory of data repository")
88 parser.add_argument(
"visit", type=int, help=
"Visit or tract")
89 parser.add_argument(
"ccd", type=str, help=
"CCD or patch")
90 parser.add_argument(
'-d',
'--band', default=
None,
91 help=
'HSC filter, used with tract/patch')
92 parser.add_argument(
'-f',
'--fake', default=
None,
93 help=
'show fake sources, using -f as catalog')
94 parser.add_argument(
'-n',
'--number', dest=
'num',
95 help=
'number of objects to show',
97 parser.add_argument(
'-b',
'--blends', action=
'store_true',
98 default=
False, help=
'show blended systems')
100 args = parser.parse_args()
102 main(args.root, args.visit, args.ccd,
103 fakes=args.fake, listobj=args.num,
104 blends=args.blends, filt=args.band)