ImageMapper

class lsst.ip.diffim.ImageMapper(config=None, name=None, parentTask=None, log=None)

Bases: lsst.pipe.base.Task

Abstract base class for any task that is to be used as ImageMapReduceConfig.mapper.

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.

Methods Summary

run(subExposure, expandedSubExposure, …) Perform operation on subExposure.

Methods Documentation

run(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.afw.geom.BoundingBox

the bounding box of the original exposure

kwargs :

additional keyword arguments propagated from ImageMapReduceTask.run.

Returns:
A `pipeBase.Struct 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.