Task to be used as an ImageMapper for performing
A&L decorrelation on subimages on a grid across a A&L difference image.
This task subclasses DecorrelateALKernelTask in order to implement
all of that task's configuration parameters, as well as its `run` method.
Definition at line 352 of file imageDecorrelation.py.
def lsst.ip.diffim.imageDecorrelation.DecorrelateALKernelTask.run |
( |
|
self, |
|
|
|
exposure, |
|
|
|
templateExposure, |
|
|
|
subtractedExposure, |
|
|
|
psfMatchingKernel, |
|
|
|
xcen = None , |
|
|
|
ycen = None , |
|
|
|
svar = None , |
|
|
|
tvar = None |
|
) |
| |
|
inherited |
Perform decorrelation of an image difference exposure.
Decorrelates the diffim due to the convolution of the templateExposure with the A&L PSF matching kernel. Currently can accept a spatially varying matching kernel but in this case it simply uses a static kernel from the center of the exposure. The decorrelation is described in DMTN-021, Equation 1, where exposure
is I_1; templateExposure is I_2; subtractedExposure
is D(k); psfMatchingKernel
is kappa; and svar and tvar are their respective variances (see below).
- Parameters
-
[in] | exposure | the science afwImage.Exposure used for PSF matching |
[in] | templateExposure | the template afwImage.Exposure used for PSF matching |
[in] | subtractedExposure | the subtracted exposure produced by ip_diffim.ImagePsfMatchTask.subtractExposures() |
[in] | psfMatchingKernel | an (optionally spatially-varying) PSF matching kernel produced by ip_diffim.ImagePsfMatchTask.subtractExposures() |
[in] | xcen | X-pixel coordinate to use for computing constant matching kernel to use If None (default), then use the center of the image. |
[in] | ycen | Y-pixel coordinate to use for computing constant matching kernel to use If None (default), then use the center of the image. |
[in] | svar | image variance for science image If None (default) then compute the variance over the entire input science image. |
[in] | tvar | image variance for template image If None (default) then compute the variance over the entire input template image. |
- Returns
- a
pipeBase.Struct
containing:
correctedExposure
: the decorrelated diffim
correctionKernel
: the decorrelation correction kernel (which may be ignored)
- Note
- The
subtractedExposure
is NOT updated
-
The returned
correctedExposure
has an updated PSF as well.
-
Here we currently convert a spatially-varying matching kernel into a constant kernel, just by computing it at the center of the image (tickets DM-6243, DM-6244).
-
We are also using a constant accross-the-image measure of sigma (sqrt(variance)) to compute the decorrelation kernel.
-
Still TBD (ticket DM-6580): understand whether the convolution is correctly modifying the variance plane of the new subtractedExposure.
Definition at line 150 of file imageDecorrelation.py.
def lsst.ip.diffim.imageDecorrelation.DecorrelateALKernelMapper.run |
( |
|
self, |
|
|
|
subExposure, |
|
|
|
expandedSubExposure, |
|
|
|
fullBBox, |
|
|
|
template, |
|
|
|
science, |
|
|
|
alTaskResult = None , |
|
|
|
psfMatchingKernel = None , |
|
|
|
preConvKernel = None , |
|
|
|
kwargs |
|
) |
| |
Perform decorrelation operation on `subExposure`, using
`expandedSubExposure` to allow for invalid edge pixels arising from
convolutions.
This method performs A&L decorrelation on `subExposure` using
local measures for image variances and PSF. `subExposure` is a
sub-exposure of the non-decorrelated A&L diffim. It also
requires the corresponding sub-exposures of the template
(`template`) and science (`science`) exposures.
Parameters
----------
subExposure : lsst.afw.image.Exposure
the sub-exposure of the diffim
expandedSubExposure : lsst.afw.image.Exposure
the expanded sub-exposure upon which to operate
fullBBox : afwGeom.BoundingBox
the bounding box of the original exposure
template : afw.Exposure
the corresponding sub-exposure of the template exposure
science : afw.Exposure
the corresponding sub-exposure of the science exposure
alTaskResult : pipeBase.Struct
the result of A&L image differencing on `science` and
`template`, importantly containing the resulting
`psfMatchingKernel`. Can be `None`, only if
`psfMatchingKernel` is not `None`.
psfMatchingKernel : Alternative parameter for passing the
A&L `psfMatchingKernel` directly.
preConvKernel : If not None, then pre-filtering was applied
to science exposure, and this is the pre-convolution
kernel.
kwargs :
additional keyword arguments propagated from
`ImageMapReduceTask.run`.
Returns
-------
A `pipeBase.Struct` containing:
* `subExposure` : the result of the `subExposure` processing.
* `decorrelationKernel` : the decorrelation kernel, currently
not used.
Notes
-----
This `run` method accepts parameters identical to those of
`ImageMapper.run`, since it is called from the
`ImageMapperTask`. See that class for more information.
Definition at line 367 of file imageDecorrelation.py.