Abstract base class for any task that is to be
used as `ImageMapReduceConfig.mapper`.
Notes
-----
An `ImageMapper` is responsible for processing individual
sub-exposures in its `run` method, which is called from
`ImageMapReduceTask.run`. `run` may return a processed new
sub-exposure which can be be "stitched" back into a new resulting
larger exposure (depending on the configured
`ImageReducer`); otherwise if it does not return an
lsst.afw.image.Exposure, then the
`ImageReducer.config.reducer.reduceOperation`
should be set to 'none' and the result will be propagated
as-is.
Definition at line 89 of file imageMapReduce.py.
def lsst.ip.diffim.imageMapReduce.ImageMapper.run |
( |
|
self, |
|
|
|
subExposure, |
|
|
|
expandedSubExposure, |
|
|
|
fullBBox, |
|
|
** |
kwargs |
|
) |
| |
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.
Reimplemented in lsst.ip.diffim.imageDecorrelation.DecorrelateALKernelMapper.
Definition at line 110 of file imageMapReduce.py.