2 function to show a list of src footprints in a mosaic 12 from .
import matchFakes
19 make a ds9 mosaic for the given source list from the given exposure 21 stolen from psfMosaic.py on the sphinx documentation 23 img = exposure.getMaskedImage().getImage()
27 footBBox = src.getFootprint().getBBox()
28 subimg = lsst.afw.image.ImageF(img, footBBox,
29 lsst.afw.image.PARENT,
True)
30 footMask = lsst.afw.image.ImageU(footBBox)
31 src.getFootprint().insertIntoImage(footMask, 1, footBBox)
32 subimg *= footMask.convertF()
33 subImages.append(subimg)
34 labels.append(
'ID=%s' %
str(src.get(idname)))
44 mosaic = m.makeMosaic()
51 def main(root, visit, ccd, fakes=None, blends=False, listobj=16, filt=None):
53 butler = lsst.daf.persistence.Butler(root)
54 dataId = {
'visit': visit,
55 'ccd':
int(ccd)}
if filt
is None else {
'tract': visit,
60 src = matchFakes.getFakeSources(butler, dataId,
61 extraCols=(
'zeropoint'),
64 src = butler.get(
'src' if filt
is None else 'deepCoadd-src', dataId)
66 src = [s
for s
in src
if ((s.get(
'deblend.nchild') == 0) &
67 (s.get(
'parent') == 0))]
69 src = [s
for s
in src
if (s.get(
'deblend.nchild') == 0)]
71 exposure = butler.get(
'calexp' if filt
is None else 'deepCoadd', dataId)
73 if type(listobj)
is int:
74 listobj = numpy.random.choice(list(range(len(src))), listobj,
False)
76 srcList = [src[i]
for i
in listobj]
78 getMosaic(srcList, exposure,
'fakeId' if fakes
else 'id')
81 if __name__ ==
'__main__':
82 parser = argparse.ArgumentParser()
83 parser.add_argument(
'root', help=
"Root directory of data repository")
84 parser.add_argument(
"visit", type=int, help=
"Visit or tract")
85 parser.add_argument(
"ccd", type=str, help=
"CCD or patch")
86 parser.add_argument(
'-d',
'--band', default=
None,
87 help=
'HSC filter, used with tract/patch')
88 parser.add_argument(
'-f',
'--fake', default=
None,
89 help=
'show fake sources, using -f as catalog')
90 parser.add_argument(
'-n',
'--number', dest=
'num',
91 help=
'number of objects to show',
93 parser.add_argument(
'-b',
'--blends', action=
'store_true',
94 default=
False, help=
'show blended systems')
96 args = parser.parse_args()
98 main(args.root, args.visit, args.ccd,
99 fakes=args.fake, listobj=args.num,
100 blends=args.blends, filt=args.band)