lsst.ip.diffim  14.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Static Private 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__
 
def run
 
def plotBoxes
 

Public Attributes

 boxes0
 
 boxes1
 

Static Public Attributes

 ConfigClass = ImageMapReduceConfig
 

Private Member Functions

def _runMapper
 
def _reduceImage
 
def _generateGrid
 
def _plotBoxGrid
 

Static Private Attributes

string _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 494 of file imageMapReduce.py.

Constructor & Destructor Documentation

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

Member Function Documentation

def lsst.ip.diffim.imageMapReduce.ImageMapReduceTask._generateGrid (   self,
  exposure,
  forceEvenSized = False,
  kwargs 
)
private
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 : boolean
    force grid elements to have even-valued x- and y- dimensions?
    (Potentially useful if doing Fourier transform of subExposures.)

Definition at line 629 of file imageMapReduce.py.

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

Parameters
----------
boxes : list
    a list of `afwGeom.BoundingBox`es
bbox : afwGeom.BoundingBox
    an overall bounding box
**kwargs :
    additional keyword arguments for matplotlib

Definition at line 791 of file imageMapReduce.py.

def lsst.ip.diffim.imageMapReduce.ImageMapReduceTask._reduceImage (   self,
  mapperResults,
  exposure,
  kwargs 
)
private
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 `pipeBase.Struct`, each of which was produced by
    `config.mapperSubtask`
exposure : lsst.afw.image.Exposure
    the original exposure
**kwargs :
    additional keyword arguments

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

Definition at line 606 of file imageMapReduce.py.

def lsst.ip.diffim.imageMapReduce.ImageMapReduceTask._runMapper (   self,
  exposure,
  doClone = False,
  kwargs 
)
private
Perform `mapperSubtask.run` on each sub-exposure

Perform `mapperSubtask.run` on each sub-exposure across a
grid on `exposure` generated by `_generateGrid`. Also pass to
`mapperSubtask.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 : boolean
    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
    `mapperSubtask.run` and `self._generateGrid`, including `forceEvenSized`.

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

Definition at line 561 of file imageMapReduce.py.

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

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.mapperSubtask.run()` on each. Reduce the resulting
sub-exposures by running `config.reducerSubtask.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 `reducerSubtask.run()`

Definition at line 534 of file imageMapReduce.py.

Member Data Documentation

string lsst.ip.diffim.imageMapReduce.ImageMapReduceTask._DefaultName = "ip_diffim_imageMapReduce"
staticprivate

Definition at line 513 of file imageMapReduce.py.

lsst.ip.diffim.imageMapReduce.ImageMapReduceTask.boxes0

Definition at line 529 of file imageMapReduce.py.

lsst.ip.diffim.imageMapReduce.ImageMapReduceTask.boxes1

Definition at line 529 of file imageMapReduce.py.

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

Definition at line 512 of file imageMapReduce.py.


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