LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
Loading...
Searching...
No Matches
Functions | Variables
lsst.meas.algorithms.psfSelectionFromMatchList Namespace Reference

Functions

 selectPsfSources (exposure, matches, psfPolicy)
 

Variables

list args = [None, "MatchList", None]
 

Function Documentation

◆ selectPsfSources()

lsst.meas.algorithms.psfSelectionFromMatchList.selectPsfSources ( exposure,
matches,
psfPolicy )
Get a list of suitable stars to construct a PSF.

Definition at line 32 of file psfSelectionFromMatchList.py.

32def selectPsfSources(exposure, matches, psfPolicy):
33 """Get a list of suitable stars to construct a PSF."""
34
35 import lsstDebug
36 display = lsstDebug.Info(__name__).display
37 displayExposure = lsstDebug.Info(__name__).displayExposure # display the Exposure + spatialCells
38 #
39 # Unpack policy
40 #
41 kernelSize = psfPolicy.get("kernelSize")
42 borderWidth = psfPolicy.get("borderWidth")
43 sizePsfCellX = psfPolicy.get("sizeCellX")
44 sizePsfCellY = psfPolicy.get("sizeCellY")
45 #
46 mi = exposure.getMaskedImage()
47
48 if display and displayExposure:
49 disp = afwDisplay.Display(frame=0)
50 disp.mtv(mi, title="PSF candidates")
51
52 psfCellSet = afwMath.SpatialCellSet(mi.getBBox(), sizePsfCellX, sizePsfCellY)
53 psfStars = []
54
55 for val in matches:
56 ref, source = val[0:2]
57 if not (ref.getFlagForDetection() & measAlg.Flags.STAR) or \
58 (source.getFlagForDetection() & measAlg.Flags.BAD):
59 continue
60
61 try:
62 cand = measAlg.makePsfCandidate(source, mi)
63 #
64 # The setXXX methods are class static, but it's convenient to call them on
65 # an instance as we don't know Exposure's pixel type (and hence cand's exact type)
66 if cand.getWidth() == 0:
67 cand.setBorderWidth(borderWidth)
68 cand.setWidth(kernelSize + 2*borderWidth)
69 cand.setHeight(kernelSize + 2*borderWidth)
70
71 im = cand.getMaskedImage().getImage()
72 max = afwMath.makeStatistics(im, afwMath.MAX).getValue()
73 if not np.isfinite(max):
74 continue
75
76 psfCellSet.insertCandidate(cand)
77
78 if display and displayExposure:
79 disp.dot("+", source.getXAstrom() - mi.getX0(), source.getYAstrom() - mi.getY0(),
80 size=4, ctype=afwDisplay.CYAN)
81 disp.dot("o", source.getXAstrom() - mi.getX0(), source.getYAstrom() - mi.getY0(),
82 size=4, ctype=afwDisplay.CYAN)
83 except Exception:
84 continue
85
86 source.setFlagForDetection(source.getFlagForDetection() | measAlg.Flags.STAR)
87 psfStars += [source]
88
89 return psfStars, psfCellSet
A collection of SpatialCells covering an entire image.
Statistics makeStatistics(lsst::afw::image::Image< Pixel > const &img, lsst::afw::image::Mask< image::MaskPixel > const &msk, int const flags, StatisticsControl const &sctrl=StatisticsControl())
Handle a watered-down front-end to the constructor (no variance)
Definition Statistics.h:361

Variable Documentation

◆ args

list lsst.meas.algorithms.psfSelectionFromMatchList.args = [None, "MatchList", None]

Definition at line 29 of file psfSelectionFromMatchList.py.