LSST Applications g0b6bd0c080+a72a5dd7e6,g1182afd7b4+2a019aa3bb,g17e5ecfddb+2b8207f7de,g1d67935e3f+06cf436103,g38293774b4+ac198e9f13,g396055baef+6a2097e274,g3b44f30a73+6611e0205b,g480783c3b1+98f8679e14,g48ccf36440+89c08d0516,g4b93dc025c+98f8679e14,g5c4744a4d9+a302e8c7f0,g613e996a0d+e1c447f2e0,g6c8d09e9e7+25247a063c,g7271f0639c+98f8679e14,g7a9cd813b8+124095ede6,g9d27549199+a302e8c7f0,ga1cf026fa3+ac198e9f13,ga32aa97882+7403ac30ac,ga786bb30fb+7a139211af,gaa63f70f4e+9994eb9896,gabf319e997+ade567573c,gba47b54d5d+94dc90c3ea,gbec6a3398f+06cf436103,gc6308e37c7+07dd123edb,gc655b1545f+ade567573c,gcc9029db3c+ab229f5caf,gd01420fc67+06cf436103,gd877ba84e5+06cf436103,gdb4cecd868+6f279b5b48,ge2d134c3d5+cc4dbb2e3f,ge448b5faa6+86d1ceac1d,gecc7e12556+98f8679e14,gf3ee170dca+25247a063c,gf4ac96e456+ade567573c,gf9f5ea5b4d+ac198e9f13,gff490e6085+8c2580be5c,w.2022.27
LSST Data Management Base Package
Classes | Functions
lsst.pipe.tasks.measurePsf Namespace Reference

Classes

class  MeasurePsfConfig
 
class  MeasurePsfTask
  More...
 

Functions

def showPsfSpatialCells (exposure, cellSet, showBadCandidates, frame=1)
 
def plotPsfCandidates (cellSet, showBadCandidates=False, frame=1)
 
def plotResiduals (exposure, cellSet, showBadCandidates=False, normalizeResiduals=True, frame=2)
 

Function Documentation

◆ plotPsfCandidates()

def lsst.pipe.tasks.measurePsf.plotPsfCandidates (   cellSet,
  showBadCandidates = False,
  frame = 1 
)

Definition at line 366 of file measurePsf.py.

366def plotPsfCandidates(cellSet, showBadCandidates=False, frame=1):
367 stamps = []
368 for cell in cellSet.getCellList():
369 for cand in cell.begin(not showBadCandidates): # maybe include bad candidates
370 try:
371 im = cand.getMaskedImage()
372
373 chi2 = cand.getChi2()
374 if chi2 < 1e100:
375 chi2 = "%.1f" % chi2
376 else:
377 chi2 = float("nan")
378
379 stamps.append((im, "%d%s" %
380 (maUtils.splitId(cand.getSource().getId(), True)["objId"], chi2),
381 cand.getStatus()))
382 except Exception:
383 continue
384
385 mos = afwDisplay.utils.Mosaic()
386 disp = afwDisplay.Display(frame=frame)
387 for im, label, status in stamps:
388 im = type(im)(im, True)
389 try:
390 im /= afwMath.makeStatistics(im, afwMath.MAX).getValue()
391 except NotImplementedError:
392 pass
393
394 mos.append(im, label,
395 afwDisplay.GREEN if status == afwMath.SpatialCellCandidate.GOOD else
396 afwDisplay.YELLOW if status == afwMath.SpatialCellCandidate.UNKNOWN else afwDisplay.RED)
397
398 if mos.images:
399 disp.mtv(mos.makeMosaic(), title="Psf Candidates")
400
401
table::Key< int > type
Definition: Detector.cc:163
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:359
def plotPsfCandidates(cellSet, showBadCandidates=False, frame=1)
Definition: measurePsf.py:366

◆ plotResiduals()

def lsst.pipe.tasks.measurePsf.plotResiduals (   exposure,
  cellSet,
  showBadCandidates = False,
  normalizeResiduals = True,
  frame = 2 
)

Definition at line 402 of file measurePsf.py.

402def plotResiduals(exposure, cellSet, showBadCandidates=False, normalizeResiduals=True, frame=2):
403 psf = exposure.getPsf()
404 disp = afwDisplay.Display(frame=frame)
405 while True:
406 try:
407 maUtils.showPsfCandidates(exposure, cellSet, psf=psf, display=disp,
408 normalize=normalizeResiduals,
409 showBadCandidates=showBadCandidates)
410 frame += 1
411 maUtils.showPsfCandidates(exposure, cellSet, psf=psf, display=disp,
412 normalize=normalizeResiduals,
413 showBadCandidates=showBadCandidates,
414 variance=True)
415 frame += 1
416 except Exception:
417 if not showBadCandidates:
418 showBadCandidates = True
419 continue
420 break
421
422 return frame
def plotResiduals(exposure, cellSet, showBadCandidates=False, normalizeResiduals=True, frame=2)
Definition: measurePsf.py:402

◆ showPsfSpatialCells()

def lsst.pipe.tasks.measurePsf.showPsfSpatialCells (   exposure,
  cellSet,
  showBadCandidates,
  frame = 1 
)

Definition at line 353 of file measurePsf.py.

353def showPsfSpatialCells(exposure, cellSet, showBadCandidates, frame=1):
354 disp = afwDisplay.Display(frame=frame)
355 maUtils.showPsfSpatialCells(exposure, cellSet,
356 symb="o", ctype=afwDisplay.CYAN, ctypeUnused=afwDisplay.YELLOW,
357 size=4, display=disp)
358 for cell in cellSet.getCellList():
359 for cand in cell.begin(not showBadCandidates): # maybe include bad candidates
360 status = cand.getStatus()
361 disp.dot('+', *cand.getSource().getCentroid(),
362 ctype=afwDisplay.GREEN if status == afwMath.SpatialCellCandidate.GOOD else
363 afwDisplay.YELLOW if status == afwMath.SpatialCellCandidate.UNKNOWN else afwDisplay.RED)
364
365
def showPsfSpatialCells(exposure, cellSet, showBadCandidates, frame=1)
Definition: measurePsf.py:353