AlardLuptonPreconvolveSubtractTask¶
- class lsst.ip.diffim.AlardLuptonPreconvolveSubtractTask(**kwargs)¶
Bases:
AlardLuptonSubtractTaskSubtract a template from a science image, convolving the science image before computing the kernel, and also convolving the template before subtraction.
Attributes Summary
Methods Summary
computeImageMetrics(science, difference, stars)Compute quality metrics (saved to the task metadata) on the difference image, at the locations of detected stars on the science image.
Empty (clear) the metadata for this Task and all sub-Tasks.
finalize(template, science, difference, kernel)Decorrelate the difference image to undo the noise correlations caused by convolution.
Get metadata for all tasks.
Get the task name as a hierarchical name including parent task names.
getName()Get the name of the task.
Get a dictionary of all tasks as a shallow copy.
makeField(doc)Make a
lsst.pex.config.ConfigurableFieldfor this task.makeSubtask(name, **keyArgs)Create a subtask as a new instance as the
nameattribute of this task.run(template, science, sources[, visitSummary])Preconvolve the science image with its own PSF, convolve the template image with a PSF-matching kernel and subtract from the preconvolved science image.
runConvolveScience(template, science, ...)Convolve the science image with a PSF-matching kernel and subtract the template image.
runConvolveTemplate(template, science, ...)Convolve the template image with a PSF-matching kernel and subtract from the science image.
runPreconvolve(template, science, ...)Convolve the science image with its own PSF, then convolve the template with a matching kernel and subtract to form the Score exposure.
runQuantum(butlerQC, inputRefs, outputRefs)Do butler IO and transform to provide in memory objects for tasks
runmethod.timer(name[, logLevel])Context manager to log performance data for an arbitrary block of code.
updateMasks(template, science)Update the science and template mask planes before differencing.
Attributes Documentation
Methods Documentation
- computeImageMetrics(science, difference, stars)¶
Compute quality metrics (saved to the task metadata) on the difference image, at the locations of detected stars on the science image. This restricts the metric to locations that should be well-subtracted.
- Parameters:
- science
lsst.afw.image.ExposureF Science exposure that was subtracted.
- difference
lsst.afw.image.ExposureF Result of subtracting template and science.
- stars
lsst.afw.table.SourceCatalog Good calibration sources detected on science image; these footprints are what the metrics are computed on.
- science
Notes
The task metadata does not include docstrings, so descriptions of the computed metrics are given here:
- differenceFootprintRatioMean
Mean of the ratio of the absolute value of the difference image (with the mean absolute value of the sky regions on the difference image removed) to the science image, computed in the footprints of stars detected on the science image (the sums below are of the pixels in each star or sky footprint): \(\mathrm{mean}_{footprints}((\sum |difference| - \mathrm{mean}(\sum |difference_{sky}|)) / \sum science)\)
- differenceFootprintRatioStdev
Standard Deviation across footprints of the above ratio.
- differenceFootprintSkyRatioMean
Mean of the ratio of the absolute value of sky source regions on the difference image to the science image (the sum below is of the pixels in each sky source footprint): \(\mathrm{mean}_{footprints}(\sum |difference_{sky}| / \sum science_{sky})\)
- differenceFootprintSkyRatioStdev
Standard Deivation across footprints of the above sky ratio.
- finalize(template, science, difference, kernel, templateMatched=True, preConvMode=False, preConvKernel=None, spatiallyVarying=False)¶
Decorrelate the difference image to undo the noise correlations caused by convolution.
- Parameters:
- template
lsst.afw.image.ExposureF Template exposure, warped to match the science exposure.
- science
lsst.afw.image.ExposureF Science exposure to subtract from the template.
- difference
lsst.afw.image.ExposureF Result of subtracting template and science.
- kernel
lsst.afw.math.Kernel An (optionally spatially-varying) PSF matching kernel
- templateMatched
bool, optional Was the template PSF-matched to the science image?
- preConvMode
bool, optional Was the science image preconvolved with its own PSF before PSF matching the template?
- preConvKernel
lsst.afw.detection.Psf, optional If not
None, then the science image was pre-convolved with (the reflection of) this kernel. Must be normalized to sum to 1.- spatiallyVarying
bool, optional Compute the decorrelation kernel spatially varying across the image?
- template
- Returns:
- correctedExposure
lsst.afw.image.ExposureF The decorrelated image difference.
- correctedExposure
- 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
- getName() str¶
Get the name of the task.
- Returns:
- taskName
str Name of the task.
- taskName
See also
getFullNameGet the full name of the task.
- 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
- 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")
- 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.
- run(template, science, sources, visitSummary=None)¶
Preconvolve the science image with its own PSF, convolve the template image with a PSF-matching kernel and subtract from the preconvolved science image.
- Parameters:
- template
lsst.afw.image.ExposureF The template image, which has previously been warped to the science image. The template bbox will be padded by a few pixels compared to the science bbox.
- science
lsst.afw.image.ExposureF The science exposure.
- sources
lsst.afw.table.SourceCatalog Identified sources on the science exposure. This catalog is used to select sources in order to perform the AL PSF matching on stamp images around them.
- visitSummary
lsst.afw.table.ExposureCatalog, optional Exposure catalog with complete external calibrations. Catalog uses the detector id for the catalog id, sorted on id for fast lookup.
- template
- Returns:
- results
lsst.pipe.base.Struct scoreExposurelsst.afw.image.ExposureFResult of subtracting the convolved template and science images. Attached PSF is that of the original science image.
matchedTemplatelsst.afw.image.ExposureFWarped and PSF-matched template exposure. Attached PSF is that of the original science image.
matchedSciencelsst.afw.image.ExposureFThe science exposure after convolving with its own PSF. Attached PSF is that of the original science image.
backgroundModellsst.afw.math.Function2DBackground model that was fit while solving for the PSF-matching kernel
psfMatchingKernellsst.afw.math.KernelFinal kernel used to PSF-match the template to the science image.
- results
- runConvolveScience(template, science, selectSources)¶
Convolve the science image with a PSF-matching kernel and subtract the template image.
- Parameters:
- template
lsst.afw.image.ExposureF Template exposure, warped to match the science exposure.
- science
lsst.afw.image.ExposureF Science exposure to subtract from the template.
- selectSources
lsst.afw.table.SourceCatalog Identified sources on the science exposure. This catalog is used to select sources in order to perform the AL PSF matching on stamp images around them.
- template
- Returns:
- results
lsst.pipe.base.Struct differencelsst.afw.image.ExposureFResult of subtracting template and science.
matchedTemplatelsst.afw.image.ExposureFWarped template exposure. Note that in this case, the template is not PSF-matched to the science image.
backgroundModellsst.afw.math.Function2DBackground model that was fit while solving for the PSF-matching kernel
psfMatchingKernellsst.afw.math.KernelKernel used to PSF-match the science image to the template.
- results
- runConvolveTemplate(template, science, selectSources)¶
Convolve the template image with a PSF-matching kernel and subtract from the science image.
- Parameters:
- template
lsst.afw.image.ExposureF Template exposure, warped to match the science exposure.
- science
lsst.afw.image.ExposureF Science exposure to subtract from the template.
- selectSources
lsst.afw.table.SourceCatalog Identified sources on the science exposure. This catalog is used to select sources in order to perform the AL PSF matching on stamp images around them.
- template
- Returns:
- results
lsst.pipe.base.Struct differencelsst.afw.image.ExposureFResult of subtracting template and science.
matchedTemplatelsst.afw.image.ExposureFWarped and PSF-matched template exposure.
backgroundModellsst.afw.math.Function2DBackground model that was fit while solving for the PSF-matching kernel
psfMatchingKernellsst.afw.math.KernelKernel used to PSF-match the template to the science image.
- results
- runPreconvolve(template, science, matchedScience, selectSources, preConvKernel)¶
Convolve the science image with its own PSF, then convolve the template with a matching kernel and subtract to form the Score exposure.
- Parameters:
- template
lsst.afw.image.ExposureF Template exposure, warped to match the science exposure.
- science
lsst.afw.image.ExposureF Science exposure to subtract from the template.
- matchedScience
lsst.afw.image.ExposureF The science exposure, convolved with the reflection of its own PSF.
- selectSources
lsst.afw.table.SourceCatalog Identified sources on the science exposure. This catalog is used to select sources in order to perform the AL PSF matching on stamp images around them.
- preConvKernel
lsst.afw.math.Kernel The reflection of the kernel that was used to preconvolve the
scienceexposure. Must be normalized to sum to 1.
- template
- Returns:
- results
lsst.pipe.base.Struct scoreExposurelsst.afw.image.ExposureFResult of subtracting the convolved template and science images. Attached PSF is that of the original science image.
matchedTemplatelsst.afw.image.ExposureFWarped and PSF-matched template exposure. Attached PSF is that of the original science image.
matchedSciencelsst.afw.image.ExposureFThe science exposure after convolving with its own PSF. Attached PSF is that of the original science image.
backgroundModellsst.afw.math.Function2DBackground model that was fit while solving for the PSF-matching kernel
psfMatchingKernellsst.afw.math.KernelFinal kernel used to PSF-match the template to the science image.
- results
- runQuantum(butlerQC: QuantumContext, inputRefs: InputQuantizedConnection, outputRefs: OutputQuantizedConnection) None¶
Do butler IO and transform to provide in memory objects for tasks
runmethod.- Parameters:
- butlerQC
QuantumContext A butler which is specialized to operate in the context of a
lsst.daf.butler.Quantum.- inputRefs
InputQuantizedConnection Datastructure whose attribute names are the names that identify connections defined in corresponding
PipelineTaskConnectionsclass. The values of these attributes are thelsst.daf.butler.DatasetRefobjects associated with the defined input/prerequisite connections.- outputRefs
OutputQuantizedConnection Datastructure whose attribute names are the names that identify connections defined in corresponding
PipelineTaskConnectionsclass. The values of these attributes are thelsst.daf.butler.DatasetRefobjects associated with the defined output connections.
- butlerQC
- timer(name: str, logLevel: int = 10) Iterator[None]¶
Context manager to log performance data for an arbitrary block of code.
- Parameters:
See also
lsst.utils.timer.logInfoImplementation function.
Examples
Creating a timer context:
with self.timer("someCodeToTime"): pass # code to time
- updateMasks(template, science)¶
Update the science and template mask planes before differencing.
- Parameters:
- template
lsst.afw.image.Exposure Template exposure, warped to match the science exposure. The template mask planes will be erased, except for a few specified in the task config.
- science
lsst.afw.image.Exposure Science exposure to subtract from the template. The DETECTED and DETECTED_NEGATIVE mask planes of the science image will be erased.
- template