lsst.ip.diffim ga085b1478a+1393071258
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

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

Public Attributes

 boxes0
 
 boxes1
 

Static Public Attributes

ImageMapReduceConfig ConfigClass = ImageMapReduceConfig
 

Protected Member Functions

def _runMapper (self, exposure, doClone=False, **kwargs)
 
def _reduceImage (self, mapperResults, exposure, **kwargs)
 
def _generateGrid (self, exposure, forceEvenSized=False, **kwargs)
 
def _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__()

def 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()

def 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()

def 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()

def 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()

def 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()

def 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()

def 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 523 of file imageMapReduce.py.

◆ ConfigClass

ImageMapReduceConfig 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: