AssembleCcdTask¶
- class lsst.ip.isr.AssembleCcdTask(**kwargs)¶
- Bases: - Task- ! @anchor AssembleCcdTask - @brief Assemble a set of amplifier images into a full detector size set of pixels. - @section ip_isr_assemble_Contents Contents - @ref ip_isr_assemble_Purpose 
- @ref ip_isr_assemble_Initialize 
- @ref ip_isr_assemble_IO 
- @ref ip_isr_assemble_Config 
- @ref ip_isr_assemble_Debug 
- @ref ip_isr_assemble_Example 
 - @section ip_isr_assemble_Purpose Description - This task assembles sections of an image into a larger mosaic. The sub-sections are typically amplifier sections and are to be assembled into a detector size pixel grid. The assembly is driven by the entries in the raw amp information. The task can be configured to return a detector image with non-data (e.g. overscan) pixels included. The task can also renormalize the pixel values to a nominal gain of 1. The task also removes exposure metadata that has context in raw amps, but not in trimmed detectors (e.g. ‘BIASSEC’). - @section ip_isr_assemble_Initialize Task initialization - @copydoc __init__ - @section ip_isr_assemble_IO Inputs/Outputs to the assembleCcd method - @copydoc assembleCcd - @section ip_isr_assemble_Config Configuration parameters - See @ref AssembleCcdConfig - @section ip_isr_assemble_Debug Debug variables - The command line task interface supports a flag @c -d to import @b debug.py from your @c PYTHONPATH; see <a href=”https://developer.lsst.io/stack/debug.html”>Debugging Tasks with lsstDebug</a> for more about @b debug.py files. - The available variables in AssembleCcdTask are: <DL> - <DT> @c display <DD> A dictionary containing debug point names as keys with frame number - as value. Valid keys are: - <DL>
- <DT> assembledExposure <DD> display assembled exposure 
 - </DL> - </DL> - @section ip_isr_assemble_Example A complete example of using AssembleCcdTask - <HR> To investigate the @ref ip_isr_assemble_Debug, put something like @code{.py} import lsstDebug def DebugInfo(name): - di = lsstDebug.getInfo(name) # N.b. lsstDebug.Info(name) would call
- # us recursively 
- if name == “lsst.ip.isr.assembleCcdTask”:
- di.display = {‘assembledExposure’:2} 
 - return di - lsstDebug.Info = DebugInfo @endcode into your debug.py file and run runAssembleTask.py with the @c –debug flag. - Conversion notes:
- Display code should be updated once we settle on a standard way of controlling what is displayed. 
 - Methods Summary - assembleCcd(assembleInput)- !Assemble a set of amps into a single CCD size image @param[in] assembleInput -- Either a dictionary of amp lsst.afw.image.Exposures or a single lsst.afw.image.Exposure containing all raw amps. If a dictionary of amp exposures, the key should be the amp name. @return assembledCcd -- An lsst.afw.image.Exposure of the assembled amp sections. - 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.- postprocessExposure(outExposure, inExposure)- Set exposure non-image attributes, including wcs and metadata and display exposure (if requested) - timer(name[, logLevel])- Context manager to log performance data for an arbitrary block of code. - Methods Documentation - assembleCcd(assembleInput)¶
- !Assemble a set of amps into a single CCD size image @param[in] assembleInput – Either a dictionary of amp - lsst.afw.image.Exposures or a single lsst.afw.image.Exposure containing all raw amps. If a dictionary of amp exposures, the key should be the amp name. - @return assembledCcd – An lsst.afw.image.Exposure of the assembled
- amp sections. 
 - @throws TypeError with the following string: - <DL>
- <DT> Expected either a dictionary of amp exposures or a single raw
- exposure. 
- <DD> The input exposures to be assembled do not adhere to the
- required format. 
 
 - </DL> - @throws RuntimeError with the following string: - <DL>
- <DT> No ccd detector found <DD> The detector set on the input exposure is not set. 
 - </DL> 
 - 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
 
 - getName() str¶
- Get the name of the task. - Returns:
- taskNamestr
- Name of the task. 
 
- taskName
 - See also - getFullName
- Get the full name of the task. 
 
 - 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.
 - postprocessExposure(outExposure, inExposure)¶
- Set exposure non-image attributes, including wcs and metadata and display exposure (if requested) - Call after assembling the pixels - @param[in,out] outExposure assembled exposure:
- removes unwanted keywords 
- sets wcs, filter, and detector 
 
 - @param[in] inExposure input exposure