lsst.ip.diffim g180d380827+78227d2bc4
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Attributes | List of all members
lsst.ip.diffim.imageMapReduce.ImageMapReduceTask Class Reference
Inheritance diagram for lsst.ip.diffim.imageMapReduce.ImageMapReduceTask:

Public Member Functions

 __init__ (self, *args, **kwargs)
 
 run (self, exposure, **kwargs)
 
 plotBoxes (self, fullBBox, skip=3)
 

Public Attributes

 boxes0
 
 boxes1
 

Static Public Attributes

 ConfigClass = ImageMapReduceConfig
 

Protected Member Functions

 _runMapper (self, exposure, doClone=False, **kwargs)
 
 _reduceImage (self, mapperResults, exposure, **kwargs)
 
 _generateGrid (self, exposure, forceEvenSized=False, **kwargs)
 
 _plotBoxGrid (self, boxes, bbox, **kwargs)
 

Static Protected Attributes

str _DefaultName = "ip_diffim_imageMapReduce"
 

Detailed Description

Split an Exposure into subExposures (optionally on a grid) and
perform the same operation on each.

Perform 'simple' operations on a gridded set of subExposures of a
larger Exposure, and then (by default) have those subExposures
stitched back together into a new, full-sized image.

Contrary to the expectation given by its name, this task does not
perform these operations in parallel, although it could be updatd
to provide such functionality.

The actual operations are performed by two subTasks passed to the
config. The exposure passed to this task's `run` method will be
divided, and those subExposures will be passed to the subTasks,
along with the original exposure. The reducing operation is
performed by the second subtask.

Definition at line 488 of file imageMapReduce.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.ip.diffim.imageMapReduce.ImageMapReduceTask.__init__ ( self,
* args,
** kwargs )
Create the image map-reduce task

Parameters
----------
args :
    arguments to be passed to
    `lsst.pipe.base.task.Task.__init__`
kwargs :
    additional keyword arguments to be passed to
    `lsst.pipe.base.task.Task.__init__`

Definition at line 509 of file imageMapReduce.py.

Member Function Documentation

◆ _generateGrid()

lsst.ip.diffim.imageMapReduce.ImageMapReduceTask._generateGrid ( self,
exposure,
forceEvenSized = False,
** kwargs )
protected
Generate two lists of bounding boxes that evenly grid `exposure`

Unless the config was provided with `cellCentroidsX` and
`cellCentroidsY`, grid (subimage) centers are spaced evenly
by gridStepX/Y. Then the grid is adjusted as little as
possible to evenly cover the input exposure (if
adjustGridOption is not 'none'). Then the second set of
bounding boxes is expanded by borderSizeX/Y. The expanded
bounding boxes are adjusted to ensure that they intersect the
exposure's bounding box. The resulting lists of bounding boxes
and corresponding expanded bounding boxes are set to
`self.boxes0`, `self.boxes1`.

Parameters
----------
exposure : `lsst.afw.image.Exposure`
    input exposure whose full bounding box is to be evenly gridded.
forceEvenSized : `bool`
    force grid elements to have even-valued x- and y- dimensions?
    (Potentially useful if doing Fourier transform of subExposures.)

Definition at line 623 of file imageMapReduce.py.

◆ _plotBoxGrid()

lsst.ip.diffim.imageMapReduce.ImageMapReduceTask._plotBoxGrid ( self,
boxes,
bbox,
** kwargs )
protected
Plot a grid of boxes using matplotlib.

Parameters
----------
boxes : `list` of `lsst.geom.Box2I`
    a list of bounding boxes.
bbox : `lsst.geom.Box2I`
    an overall bounding box
**kwargs
    additional keyword arguments for matplotlib

Definition at line 785 of file imageMapReduce.py.

◆ _reduceImage()

lsst.ip.diffim.imageMapReduce.ImageMapReduceTask._reduceImage ( self,
mapperResults,
exposure,
** kwargs )
protected
Reduce/merge a set of sub-exposures into a final result

Return an exposure of the same dimensions as `exposure`.
`mapperResults` is expected to have been produced by `runMapper`.

Parameters
----------
mapperResults : `list`
    `list` of `lsst.pipe.base.Struct`, each of which was produced by
    `config.mapper`
exposure : `lsst.afw.image.Exposure`
    the original exposure
**kwargs
    additional keyword arguments

Returns
-------
Output of `reducer.run` which is a `pipeBase.Struct`.

Definition at line 600 of file imageMapReduce.py.

◆ _runMapper()

lsst.ip.diffim.imageMapReduce.ImageMapReduceTask._runMapper ( self,
exposure,
doClone = False,
** kwargs )
protected
Perform `mapper.run` on each sub-exposure

Perform `mapper.run` on each sub-exposure across a
grid on `exposure` generated by `_generateGrid`. Also pass to
`mapper.run` an 'expanded sub-exposure' containing the
same region as the sub-exposure but with an expanded bounding box.

Parameters
----------
exposure : `lsst.afw.image.Exposure`
    the original exposure which is used as the template
doClone : `bool`
    if True, clone the subimages before passing to subtask;
    in that case, the sub-exps do not have to be considered as read-only
kwargs :
    additional keyword arguments to be passed to
    `mapper.run` and `self._generateGrid`, including `forceEvenSized`.

Returns
-------
a list of `pipeBase.Struct`s as returned by `mapper.run`.

Definition at line 555 of file imageMapReduce.py.

◆ plotBoxes()

lsst.ip.diffim.imageMapReduce.ImageMapReduceTask.plotBoxes ( self,
fullBBox,
skip = 3 )
Plot both grids of boxes using matplotlib.

Will compute the grid via `_generateGrid` if
`self.boxes0` and `self.boxes1` have not already been set.

Parameters
----------
exposure : `lsst.afw.image.Exposure`
    Exposure whose bounding box is gridded by this task.
skip : `int`
    Plot every skip-ped box (help make plots less confusing)

Definition at line 762 of file imageMapReduce.py.

◆ run()

lsst.ip.diffim.imageMapReduce.ImageMapReduceTask.run ( self,
exposure,
** kwargs )
Perform a map-reduce operation on the given exposure.

Split the exposure into sub-expposures on a grid (parameters
given by `ImageMapReduceConfig`) and perform
`config.mapper.run()` on each. Reduce the resulting
sub-exposures by running `config.reducer.run()`.

Parameters
----------
exposure : `lsst.afw.image.Exposure`
    the full exposure to process
kwargs :
    additional keyword arguments to be passed to
    subtask `run` methods

Returns
-------
output of `reducer.run()`

Definition at line 528 of file imageMapReduce.py.

Member Data Documentation

◆ _DefaultName

str lsst.ip.diffim.imageMapReduce.ImageMapReduceTask._DefaultName = "ip_diffim_imageMapReduce"
staticprotected

Definition at line 507 of file imageMapReduce.py.

◆ boxes0

lsst.ip.diffim.imageMapReduce.ImageMapReduceTask.boxes0

Definition at line 523 of file imageMapReduce.py.

◆ boxes1

lsst.ip.diffim.imageMapReduce.ImageMapReduceTask.boxes1

Definition at line 585 of file imageMapReduce.py.

◆ ConfigClass

lsst.ip.diffim.imageMapReduce.ImageMapReduceTask.ConfigClass = ImageMapReduceConfig
static

Definition at line 506 of file imageMapReduce.py.


The documentation for this class was generated from the following file: