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.ip.diffim.subtractImages Namespace Reference

Classes

class  AlardLuptonSubtractConfig
 
class  AlardLuptonSubtractConnections
 
class  AlardLuptonSubtractTask
 
class  SubtractImageOutputConnections
 
class  SubtractInputConnections
 

Functions

def checkTemplateIsSufficient (templateExposure, logger, requiredTemplateFraction=0.)
 

Function Documentation

◆ checkTemplateIsSufficient()

def lsst.ip.diffim.subtractImages.checkTemplateIsSufficient (   templateExposure,
  logger,
  requiredTemplateFraction = 0. 
)
Raise NoWorkFound if template coverage < requiredTemplateFraction

Parameters
----------
templateExposure : `lsst.afw.image.ExposureF`
    The template exposure to check
logger : `lsst.log.Log`
    Logger for printing output.
requiredTemplateFraction : `float`, optional
    Fraction of pixels of the science image required to have coverage
    in the template.

Raises
------
lsst.pipe.base.NoWorkFound
    Raised if fraction of good pixels, defined as not having NO_DATA
    set, is less then the configured requiredTemplateFraction

Definition at line 492 of file subtractImages.py.

492def checkTemplateIsSufficient(templateExposure, logger, requiredTemplateFraction=0.):
493 """Raise NoWorkFound if template coverage < requiredTemplateFraction
494
495 Parameters
496 ----------
497 templateExposure : `lsst.afw.image.ExposureF`
498 The template exposure to check
499 logger : `lsst.log.Log`
500 Logger for printing output.
501 requiredTemplateFraction : `float`, optional
502 Fraction of pixels of the science image required to have coverage
503 in the template.
504
505 Raises
506 ------
507 lsst.pipe.base.NoWorkFound
508 Raised if fraction of good pixels, defined as not having NO_DATA
509 set, is less then the configured requiredTemplateFraction
510 """
511 # Count the number of pixels with the NO_DATA mask bit set
512 # counting NaN pixels is insufficient because pixels without data are often intepolated over)
513 pixNoData = np.count_nonzero(templateExposure.mask.array
514 & templateExposure.mask.getPlaneBitMask('NO_DATA'))
515 pixGood = templateExposure.getBBox().getArea() - pixNoData
516 logger.info("template has %d good pixels (%.1f%%)", pixGood,
517 100*pixGood/templateExposure.getBBox().getArea())
518
519 if pixGood/templateExposure.getBBox().getArea() < requiredTemplateFraction:
520 message = ("Insufficient Template Coverage. (%.1f%% < %.1f%%) Not attempting subtraction. "
521 "To force subtraction, set config requiredTemplateFraction=0." % (
522 100*pixGood/templateExposure.getBBox().getArea(),
523 100*requiredTemplateFraction))
524 raise lsst.pipe.base.NoWorkFound(message)
525
526
This static class includes a variety of methods for interacting with the the logging module.
Definition: Log.h:724
def checkTemplateIsSufficient(templateExposure, logger, requiredTemplateFraction=0.)