|
def | __init__ (self, *args, **kwargs) |
|
def | run (self, subExposure, expandedSubExposure, fullBBox, template, science, alTaskResult=None, psfMatchingKernel=None, preConvKernel=None, **kwargs) |
|
def | computeVarianceMean (self, exposure) |
|
def | run (self, exposure, templateExposure, subtractedExposure, psfMatchingKernel, preConvKernel=None, xcen=None, ycen=None, svar=None, tvar=None) |
|
def | run (self, subExposure, expandedSubExposure, fullBBox, **kwargs) |
|
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 430 of file imageDecorrelation.py.
def lsst.ip.diffim.imageDecorrelation.DecorrelateALKernelTask.run |
( |
|
self, |
|
|
|
exposure, |
|
|
|
templateExposure, |
|
|
|
subtractedExposure, |
|
|
|
psfMatchingKernel, |
|
|
|
preConvKernel = None , |
|
|
|
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](http://dmtn-021.lsst.io/#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
----------
exposure : `lsst.afw.image.Exposure`
The science afwImage.Exposure used for PSF matching
templateExposure : `lsst.afw.image.Exposure`
The template exposure used for PSF matching
subtractedExposure :
the subtracted exposure produced by
`ip_diffim.ImagePsfMatchTask.subtractExposures()`
psfMatchingKernel :
An (optionally spatially-varying) PSF matching kernel produced
by `ip_diffim.ImagePsfMatchTask.subtractExposures()`
preConvKernel :
if not None, then the `exposure` was pre-convolved with this kernel
xcen : `float`, optional
X-pixel coordinate to use for computing constant matching kernel to use
If `None` (default), then use the center of the image.
ycen : `float`, optional
Y-pixel coordinate to use for computing constant matching kernel to use
If `None` (default), then use the center of the image.
svar : `float`, optional
image variance for science image
If `None` (default) then compute the variance over the entire input science image.
tvar : `float`, optional
Image variance for template image
If `None` (default) then compute the variance over the entire input template image.
Returns
-------
result : `Struct`
a `lsst.pipe.base.Struct` containing:
- ``correctedExposure`` : the decorrelated diffim
- ``correctionKernel`` : the decorrelation correction kernel (which may be ignored)
Notes
-----
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 112 of file imageDecorrelation.py.
def lsst.ip.diffim.imageMapReduce.ImageMapper.run |
( |
|
self, |
|
|
|
subExposure, |
|
|
|
expandedSubExposure, |
|
|
|
fullBBox, |
|
|
** |
kwargs |
|
) |
| |
|
inherited |
Perform operation on `subExposure`.
To be implemented by subclasses. See class docstring for more
details. This method is given the `subExposure` which
is to be operated upon, and an `expandedSubExposure` which
will contain `subExposure` with additional surrounding
pixels. This allows for, for example, convolutions (which
should be performed on `expandedSubExposure`), to prevent the
returned sub-exposure from containing invalid pixels.
This method may return a new, processed sub-exposure which can
be be "stitched" back into a new resulting larger exposure
(depending on the paired, configured `ImageReducer`);
otherwise if it does not return an lsst.afw.image.Exposure, then the
`ImageReducer.config.mapper.reduceOperation`
should be set to 'none' and the result will be propagated
as-is.
Parameters
----------
subExposure : `lsst.afw.image.Exposure`
the sub-exposure upon which to operate
expandedSubExposure : `lsst.afw.image.Exposure`
the expanded sub-exposure upon which to operate
fullBBox : `lsst.geom.Box2I`
the bounding box of the original exposure
kwargs :
additional keyword arguments propagated from
`ImageMapReduceTask.run`.
Returns
-------
result : `lsst.pipe.base.Struct`
A structure containing the result of the `subExposure` processing,
which may itself be of any type. See above for details. If it is an
`lsst.afw.image.Exposure` (processed sub-exposure), then the name in
the Struct should be 'subExposure'. This is implemented here as a
pass-through example only.
Definition at line 109 of file imageMapReduce.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 : `lsst.geom.Box2I`
the bounding box of the original exposure
template : `lsst.afw.image.Exposure`
the corresponding sub-exposure of the template exposure
science : `lsst.afw.image.Exposure`
the corresponding sub-exposure of the science exposure
alTaskResult : `lsst.pipe.base.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 444 of file imageDecorrelation.py.