ImageMapReduceTask¶
- class lsst.ip.diffim.ImageMapReduceTask(*args, **kwargs)¶
- Bases: - Task- 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 - runmethod 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.- Methods Summary - Empty (clear) the metadata for this Task and all sub-Tasks. - Get metadata for all tasks. - Get the task name as a hierarchical name including parent task names. - getName()- Get the name of the task. - Get a dictionary of all tasks as a shallow copy. - makeField(doc)- Make a - lsst.pex.config.ConfigurableFieldfor this task.- makeSubtask(name, **keyArgs)- Create a subtask as a new instance as the - nameattribute of this task.- plotBoxes(fullBBox[, skip])- Plot both grids of boxes using matplotlib. - run(exposure, **kwargs)- Perform a map-reduce operation on the given exposure. - timer(name[, logLevel])- Context manager to log performance data for an arbitrary block of code. - Methods Documentation - getFullMetadata() TaskMetadata¶
- Get metadata for all tasks. - Returns:
- metadataTaskMetadata
- The keys are the full task name. Values are metadata for the top-level task and all subtasks, sub-subtasks, etc. 
 
- metadata
 - Notes - The returned metadata includes timing information (if - @timer.timeMethodis used) and any metadata set by the task. The name of each item consists of the full task name with- .replaced by- :, followed by- .and the name of the item, e.g.:- topLevelTaskName:subtaskName:subsubtaskName.itemName - using - :in the full task name disambiguates the rare situation that a task has a subtask and a metadata item with the same name.
 - getFullName() str¶
- Get the task name as a hierarchical name including parent task names. - Returns:
- fullNamestr
- The full name consists of the name of the parent task and each subtask separated by periods. For example: - The full name of top-level task “top” is simply “top”. 
- The full name of subtask “sub” of top-level task “top” is “top.sub”. 
- The full name of subtask “sub2” of subtask “sub” of top-level task “top” is “top.sub.sub2”. 
 
 
- fullName
 
 - getTaskDict() dict[str, weakref.ReferenceType[lsst.pipe.base.task.Task]]¶
- Get a dictionary of all tasks as a shallow copy. - Returns:
- taskDictdict
- Dictionary containing full task name: task object for the top-level task and all subtasks, sub-subtasks, etc. 
 
- taskDict
 
 - classmethod makeField(doc: str) ConfigurableField¶
- Make a - lsst.pex.config.ConfigurableFieldfor this task.- Parameters:
- docstr
- Help text for the field. 
 
- doc
- Returns:
- configurableFieldlsst.pex.config.ConfigurableField
- A - ConfigurableFieldfor this task.
 
- configurableField
 - Examples - Provides a convenient way to specify this task is a subtask of another task. - Here is an example of use: - class OtherTaskConfig(lsst.pex.config.Config): aSubtask = ATaskClass.makeField("brief description of task") 
 - makeSubtask(name: str, **keyArgs: Any) None¶
- Create a subtask as a new instance as the - nameattribute of this task.- Parameters:
- namestr
- Brief name of the subtask. 
- **keyArgs
- Extra keyword arguments used to construct the task. The following arguments are automatically provided and cannot be overridden: - config.
- parentTask.
 
 
- name
 - Notes - The subtask must be defined by - Task.config.name, an instance of- ConfigurableFieldor- RegistryField.
 - plotBoxes(fullBBox, skip=3)¶
- Plot both grids of boxes using matplotlib. - Will compute the grid via - _generateGridif- self.boxes0and- self.boxes1have not already been set.- Parameters:
- exposurelsst.afw.image.Exposure
- Exposure whose bounding box is gridded by this task. 
- skipint
- Plot every skip-ped box (help make plots less confusing) 
 
- exposure
 
 - run(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:
- exposurelsst.afw.image.Exposure
- the full exposure to process 
- kwargs
- additional keyword arguments to be passed to subtask - runmethods
 
- exposure
- Returns:
- output of reducer.run()
 
- output of