ZogyImagePsfMatchTask¶
- class lsst.ip.diffim.ZogyImagePsfMatchTask(*args, **kwargs)¶
Bases:
ImagePsfMatchTaskTask to perform Zogy PSF matching and image subtraction.
This class inherits from ImagePsfMatchTask to contain the _warper subtask and related methods.
Methods Summary
Empty (clear) the metadata for this Task and all sub-Tasks.
Get metadata for all tasks.
Get the task name as a hierarchical name including parent task names.
getName()Get the name of the task.
getSelectSources(exposure[, sigma, ...])Get sources to use for Psf-matching.
Get a dictionary of all tasks as a shallow copy.
makeCandidateList(templateExposure, ...[, ...])Make a list of acceptable KernelCandidates.
makeField(doc)Make a
lsst.pex.config.ConfigurableFieldfor this task.makeKernelBasisList([targetFwhmPix, ...])Wrapper to set log messages for
lsst.ip.diffim.makeKernelBasisList.makeSubtask(name, **keyArgs)Create a subtask as a new instance as the
nameattribute of this task.matchExposures(templateExposure, scienceExposure)Warp and PSF-match an exposure to the reference.
matchMaskedImages(templateMaskedImage, ...)PSF-match a MaskedImage (templateMaskedImage) to a reference MaskedImage (scienceMaskedImage).
run(scienceExposure, templateExposure[, ...])Register, PSF-match, and subtract two Exposures,
scienceExposure - templateExposureusing the ZOGY algorithm.subtractExposures(templateExposure, ...)Register, Psf-match and subtract two Exposures.
subtractMaskedImages(templateExposure, ...)Psf-match and subtract two MaskedImages.
timer(name[, logLevel])Context manager to log performance data for an arbitrary block of code.
Methods Documentation
- getFullMetadata() TaskMetadata¶
Get metadata for all tasks.
- Returns:
- metadata
TaskMetadata The keys are the full task name. Values are metadata for the top-level task and all subtasks, sub-subtasks, etc.
- metadata
Notes
The returned metadata includes timing information (if
@timer.timeMethodis used) and any metadata set by the task. The name of each item consists of the full task name with.replaced by:, followed by.and the name of the item, e.g.:topLevelTaskName:subtaskName:subsubtaskName.itemName
using
:in the full task name disambiguates the rare situation that a task has a subtask and a metadata item with the same name.
- getFullName() str¶
Get the task name as a hierarchical name including parent task names.
- Returns:
- fullName
str The full name consists of the name of the parent task and each subtask separated by periods. For example:
The full name of top-level task “top” is simply “top”.
The full name of subtask “sub” of top-level task “top” is “top.sub”.
The full name of subtask “sub2” of subtask “sub” of top-level task “top” is “top.sub.sub2”.
- fullName
- getSelectSources(exposure, sigma=None, doSmooth=True, idFactory=None)¶
Get sources to use for Psf-matching.
This method runs detection and measurement on an exposure. The returned set of sources will be used as candidates for Psf-matching.
- Parameters:
- Returns:
- selectSources
source catalog containing candidates for the Psf-matching
- getTaskDict() Dict[str, ReferenceType[Task]]¶
Get a dictionary of all tasks as a shallow copy.
- Returns:
- taskDict
dict Dictionary containing full task name: task object for the top-level task and all subtasks, sub-subtasks, etc.
- taskDict
- makeCandidateList(templateExposure, scienceExposure, kernelSize, candidateList=None)¶
Make a list of acceptable KernelCandidates.
Accept or generate a list of candidate sources for Psf-matching, and examine the Mask planes in both of the images for indications of bad pixels
- Parameters:
- templateExposure
lsst.afw.image.Exposure Exposure that will be convolved
- scienceExposure
lsst.afw.image.Exposure Exposure that will be matched-to
- kernelSize
float Dimensions of the Psf-matching Kernel, used to grow detection footprints
- candidateList
list, optional List of Sources to examine. Elements must be of type afw.table.Source or a type that wraps a Source and has a getSource() method, such as meas.algorithms.PsfCandidateF.
- templateExposure
- Returns:
- classmethod makeField(doc: str) ConfigurableField¶
Make a
lsst.pex.config.ConfigurableFieldfor this task.- Parameters:
- doc
str Help text for the field.
- doc
- Returns:
- configurableField
lsst.pex.config.ConfigurableField A
ConfigurableFieldfor this task.
- configurableField
Examples
Provides a convenient way to specify this task is a subtask of another task.
Here is an example of use:
class OtherTaskConfig(lsst.pex.config.Config): aSubtask = ATaskClass.makeField("brief description of task")
- makeKernelBasisList(targetFwhmPix=None, referenceFwhmPix=None, basisDegGauss=None, basisSigmaGauss=None, metadata=None)¶
Wrapper to set log messages for
lsst.ip.diffim.makeKernelBasisList.- Parameters:
- targetFwhmPix
float, optional Passed on to
lsst.ip.diffim.generateAlardLuptonBasisList. Not used for delta function basis sets.- referenceFwhmPix
float, optional Passed on to
lsst.ip.diffim.generateAlardLuptonBasisList. Not used for delta function basis sets.- basisDegGauss
listofint, optional Passed on to
lsst.ip.diffim.generateAlardLuptonBasisList. Not used for delta function basis sets.- basisSigmaGauss
listofint, optional Passed on to
lsst.ip.diffim.generateAlardLuptonBasisList. Not used for delta function basis sets.- metadata
lsst.daf.base.PropertySet, optional Passed on to
lsst.ip.diffim.generateAlardLuptonBasisList. Not used for delta function basis sets.
- targetFwhmPix
- Returns:
- basisList:
listoflsst.afw.math.kernel.FixedKernel List of basis kernels.
- basisList:
- makeSubtask(name: str, **keyArgs: Any) None¶
Create a subtask as a new instance as the
nameattribute of this task.- Parameters:
- name
str Brief name of the subtask.
- keyArgs
Extra keyword arguments used to construct the task. The following arguments are automatically provided and cannot be overridden:
“config”.
“parentTask”.
- name
Notes
The subtask must be defined by
Task.config.name, an instance ofConfigurableFieldorRegistryField.
- matchExposures(templateExposure, scienceExposure, templateFwhmPix=None, scienceFwhmPix=None, candidateList=None, doWarping=True, convolveTemplate=True)¶
Warp and PSF-match an exposure to the reference.
Do the following, in order:
- Warp templateExposure to match scienceExposure,
if doWarping True and their WCSs do not already match
- Determine a PSF matching kernel and differential background model
that matches templateExposure to scienceExposure
Convolve templateExposure by PSF matching kernel
- Parameters:
- templateExposure
lsst.afw.image.Exposure Exposure to warp and PSF-match to the reference masked image
- scienceExposure
lsst.afw.image.Exposure Exposure whose WCS and PSF are to be matched to
- templateFwhmPix :`float`
FWHM (in pixels) of the Psf in the template image (image to convolve)
- scienceFwhmPix
float FWHM (in pixels) of the Psf in the science image
- candidateList
list, optional a list of footprints/maskedImages for kernel candidates; if
Nonethen source detection is run.Currently supported: list of Footprints or measAlg.PsfCandidateF
- doWarping
bool what to do if
templateExposureandscienceExposureWCSs do not match:- convolveTemplate
bool Whether to convolve the template image or the science image:
- templateExposure
- Returns:
- results
lsst.pipe.base.Struct An
lsst.pipe.base.Structcontaining these fields:matchedImagethe PSF-matched exposure =Warped
templateExposureconvolved by psfMatchingKernel. This has:the same parent bbox, Wcs and PhotoCalib as scienceExposure
the same filter as templateExposure
no Psf (because the PSF-matching process does not compute one)
psfMatchingKernel: the PSF matching kernelbackgroundModel: differential background modelkernelCellSet: SpatialCellSet used to solve for the PSF matching kernel
- results
- Raises:
- RuntimeError
Raised if doWarping is False and
templateExposureandscienceExposureWCSs do not match
- matchMaskedImages(templateMaskedImage, scienceMaskedImage, candidateList, templateFwhmPix=None, scienceFwhmPix=None)¶
PSF-match a MaskedImage (templateMaskedImage) to a reference MaskedImage (scienceMaskedImage).
Do the following, in order:
- Determine a PSF matching kernel and differential background model
that matches templateMaskedImage to scienceMaskedImage
Convolve templateMaskedImage by the PSF matching kernel
- Parameters:
- templateMaskedImage
lsst.afw.image.MaskedImage masked image to PSF-match to the reference masked image; must be warped to match the reference masked image
- scienceMaskedImage
lsst.afw.image.MaskedImage maskedImage whose PSF is to be matched to
- templateFwhmPix
float FWHM (in pixels) of the Psf in the template image (image to convolve)
- scienceFwhmPix
float FWHM (in pixels) of the Psf in the science image
- candidateList
list, optional A list of footprints/maskedImages for kernel candidates; if
Nonethen source detection is run.Currently supported: list of Footprints or measAlg.PsfCandidateF
- templateMaskedImage
- Returns:
- result
callable - An
lsst.pipe.base.Structcontaining these fields:
- psfMatchedMaskedImage: the PSF-matched masked image =
templateMaskedImageconvolved with psfMatchingKernel. This has the same xy0, dimensions and wcs asscienceMaskedImage.
- psfMatchingKernel: the PSF matching kernel
- backgroundModel: differential background model
- kernelCellSet: SpatialCellSet used to solve for the PSF matching kernel
- result
- Raises:
- RuntimeError
Raised if input images have different dimensions
- run(scienceExposure, templateExposure, doWarping=True)¶
Register, PSF-match, and subtract two Exposures,
scienceExposure - templateExposureusing the ZOGY algorithm.- Parameters:
- templateExposure
lsst.afw.image.Exposure exposure to be warped to scienceExposure.
- scienceExposure
lsst.afw.image.Exposure reference Exposure.
- doWarping
bool what to do if templateExposure’s and scienceExposure’s WCSs do not match: - if True then warp templateExposure to match scienceExposure - if False then raise an Exception
- templateExposure
- Returns:
- results
lsst.pipe.base.Structcontaining these fields: - subtractedExposure:
lsst.afw.image.Exposure The subtraction result.
- subtractedExposure:
- warpedExposure:
lsst.afw.image.ExposureorNone templateExposure after warping to match scienceExposure
- warpedExposure:
- results
Notes
- Do the following, in order:
Warp templateExposure to match scienceExposure, if their WCSs do not already match
Compute subtracted exposure ZOGY image subtraction algorithm on the two exposures
This is the new entry point of the task as of DM-25115.
- subtractExposures(templateExposure, scienceExposure, *args)¶
Register, Psf-match and subtract two Exposures.
Do the following, in order:
Warp templateExposure to match scienceExposure, if their WCSs do not already match
- Determine a PSF matching kernel and differential background model
that matches templateExposure to scienceExposure
PSF-match templateExposure to scienceExposure
Compute subtracted exposure (see return values for equation).
- Parameters:
- templateExposure
lsst.afw.image.ExposureF Exposure to PSF-match to scienceExposure
- scienceExposure
lsst.afw.image.ExposureF Reference Exposure
- templateFwhmPix
float FWHM (in pixels) of the Psf in the template image (image to convolve)
- scienceFwhmPix
float FWHM (in pixels) of the Psf in the science image
- candidateList
list, optional A list of footprints/maskedImages for kernel candidates; if
Nonethen source detection is run.Currently supported: list of Footprints or measAlg.PsfCandidateF
- doWarping
bool What to do if
templateExposure`andscienceExposureWCSs do not match:- convolveTemplate
bool Convolve the template image or the science image
- templateExposure
- Returns:
- result
lsst.pipe.base.Struct An
lsst.pipe.base.Structcontaining these fields:subtractedExposuresubtracted ExposurescienceExposure - (matchedImage + backgroundModel)
matchedImagetemplateExposureafter warping to matchtemplateExposure(if doWarping true), and convolving with psfMatchingKernel
psfMatchingKernel: PSF matching kernelbackgroundModel: differential background modelkernelCellSet: SpatialCellSet used to determine PSF matching kernel
- result
- subtractMaskedImages(templateExposure, scienceExposure, *args)¶
Psf-match and subtract two MaskedImages.
Do the following, in order:
PSF-match templateMaskedImage to scienceMaskedImage
Determine the differential background
- Return the difference: scienceMaskedImage
((warped templateMaskedImage convolved with psfMatchingKernel) + backgroundModel)
- Parameters:
- templateMaskedImage
lsst.afw.image.MaskedImage MaskedImage to PSF-match to
scienceMaskedImage- scienceMaskedImage
lsst.afw.image.MaskedImage Reference MaskedImage
- templateFwhmPix
float FWHM (in pixels) of the Psf in the template image (image to convolve)
- scienceFwhmPix
float FWHM (in pixels) of the Psf in the science image
- candidateList
list, optional A list of footprints/maskedImages for kernel candidates; if
Nonethen source detection is run.Currently supported: list of Footprints or measAlg.PsfCandidateF
- templateMaskedImage
- Returns:
- results
lsst.pipe.base.Struct An
lsst.pipe.base.Structcontaining these fields:subtractedMaskedImage:scienceMaskedImage- (matchedImage + backgroundModel)matchedImage: templateMaskedImage convolved with psfMatchingKernelpsfMatchingKernel`: PSF matching kernelbackgroundModel: differential background modelkernelCellSet: SpatialCellSet used to determine PSF matching kernel
- results