MakeKernelTask¶
-
class
lsst.ip.diffim.MakeKernelTask(*args, **kwargs)¶ Bases:
lsst.ip.diffim.PsfMatchTaskConstruct a kernel for PSF matching two exposures.
Methods Summary
emptyMetadata()Empty (clear) the metadata for this Task and all sub-Tasks. getFullMetadata()Get metadata for all tasks. getFullName()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. getTaskDict()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.run(template, science, kernelSources[, …])Solve for the kernel and background model that best match two Exposures evaluated at the given source locations. selectKernelSources(template, science[, …])Select sources from a list of candidates, and extract footprints. timer(name, logLevel)Context manager to log performance data for an arbitrary block of code. Methods Documentation
-
emptyMetadata() → None¶ Empty (clear) the metadata for this Task and all sub-Tasks.
-
getFullMetadata() → lsst.pipe.base._task_metadata.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.
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.- metadata :
-
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: - exposure :
lsst.afw.image.Exposure Exposure on which to run detection/measurement
- sigma :
float, optional PSF sigma, in pixels, used for smoothing the image for detection. If
None, the PSF width will be used.- doSmooth :
bool Whether or not to smooth the Exposure with Psf before detection
- idFactory :
lsst.afw.table.IdFactory Factory for the generation of Source ids
Returns: - selectSources :
source catalog containing candidates for the Psf-matching
- exposure :
-
getTaskDict() → Dict[str, weakref.ReferenceType[lsst.pipe.base.task.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, preconvolved=False)¶ 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.
- preconvolved :
bool, optional Was the science exposure already convolved with its PSF?
Returns: Raises: - RuntimeError
If
candidateListis empty or contains incompatible types.
- templateExposure :
-
classmethod
makeField(doc: str) → lsst.pex.config.configurableField.ConfigurableField¶ Make a
lsst.pex.config.ConfigurableFieldfor this task.Parameters: - doc :
str Help text for the field.
Returns: - configurableField :
lsst.pex.config.ConfigurableField A
ConfigurableFieldfor this task.
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")
- doc :
-
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.
Returns: - basisList:
listoflsst.afw.math.kernel.FixedKernel List of basis kernels.
- targetFwhmPix :
-
makeSubtask(name: str, **keyArgs) → 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”.
Notes
The subtask must be defined by
Task.config.name, an instance ofConfigurableFieldorRegistryField.- name :
-
run(template, science, kernelSources, preconvolved=False)¶ Solve for the kernel and background model that best match two Exposures evaluated at the given source locations.
Parameters: - template :
lsst.afw.image.Exposure Exposure that will be convolved.
- science :
lsst.afw.image.Exposure The exposure that will be matched.
- kernelSources :
listofdict A list of dicts having a “source” and “footprint” field for the Sources deemed to be appropriate for Psf matching. Can be the output from
selectKernelSources.- preconvolved :
bool, optional Was the science image convolved with its own PSF?
Returns: - results :
lsst.pipe.base.Struct psfMatchingKernel:lsst.afw.math.LinearCombinationKernelSpatially varying Psf-matching kernel.
backgroundModel:lsst.afw.math.Function2DSpatially varying background-matching function.
- template :
-
selectKernelSources(template, science, candidateList=None, preconvolved=False)¶ Select sources from a list of candidates, and extract footprints.
Parameters: - template :
lsst.afw.image.Exposure Exposure that will be convolved.
- science :
lsst.afw.image.Exposure The exposure that will be matched.
- 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.
- preconvolved :
bool, optional Was the science image convolved with its own PSF?
Returns: - template :
-
timer(name: str, logLevel: int = 10) → Iterator[None]¶ Context manager to log performance data for an arbitrary block of code.
Parameters: See also
timer.logInfo
Examples
Creating a timer context:
with self.timer("someCodeToTime"): pass # code to time
-