GenerateDonutCatalogWcsTask¶
- class lsst.ts.wep.task.GenerateDonutCatalogWcsTask(**kwargs)¶
Bases:
PipelineTaskCreate a WCS from boresight info and then use this with a reference catalog to select sources on the detectors for AOS.
Attributes Summary
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.
getRefObjLoader(refCatalogList)Create a
ReferenceObjectLoaderfrom available reference catalogs in the repository.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.run(refCatalogs, exposure)Run task algorithm on in-memory data.
runQuantum(butlerQC, inputRefs, outputRefs)Do butler IO and transform to provide in memory objects for tasks
runmethod.timer(name[, logLevel])Context manager to log performance data for an arbitrary block of code.
Attributes Documentation
- canMultiprocess: ClassVar[bool] = True¶
Methods Documentation
- emptyMetadata() None¶
Empty (clear) the metadata for this Task and all sub-Tasks.
- getFullMetadata() TaskMetadata¶
Get metadata for all tasks.
Returns¶
- metadata
TaskMetadata The keys are the full task name. Values are metadata for the top-level task and all subtasks, sub-subtasks, etc.
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.- metadata
- getFullName() str¶
Get the task name as a hierarchical name including parent task names.
Returns¶
- fullName
str 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¶
- taskName
str Name of the task.
See Also¶
getFullName : Get the full name of the task.
- taskName
- getRefObjLoader(refCatalogList)¶
Create a
ReferenceObjectLoaderfrom available reference catalogs in the repository.Parameters¶
- refCatalogList
list List of deferred butler references for the reference catalogs.
Returns¶
lsst.meas.algorithms.ReferenceObjectsLoaderObject to conduct spatial searches through the reference catalogs
- refCatalogList
- getTaskDict() dict[str, weakref.ReferenceType[lsst.pipe.base.task.Task]]¶
Get a dictionary of all tasks as a shallow copy.
Returns¶
- taskDict
dict 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¶
- doc
str Help text for the field.
Returns¶
- configurableField
lsst.pex.config.ConfigurableField A
ConfigurableFieldfor this task.
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")
- doc
- makeSubtask(name: str, **keyArgs: Any) None¶
Create a subtask as a new instance as the
nameattribute of this task.Parameters¶
- name
str 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.
Notes¶
The subtask must be defined by
Task.config.name, an instance ofConfigurableFieldorRegistryField.- name
- run(refCatalogs: List[SimpleCatalog], exposure: Exposure) Struct¶
Run task algorithm on in-memory data.
This method should be implemented in a subclass. This method will receive keyword-only arguments whose names will be the same as names of connection fields describing input dataset types. Argument values will be data objects retrieved from data butler. If a dataset type is configured with
multiplefield set toTruethen the argument value will be a list of objects, otherwise it will be a single object.If the task needs to know its input or output DataIds then it also has to override the
runQuantummethod.This method should return a
Structwhose attributes share the same name as the connection fields describing output dataset types.Parameters¶
- **kwargs
Any Arbitrary parameters accepted by subclasses.
Returns¶
- struct
Struct Struct with attribute names corresponding to output connection fields.
Examples¶
Typical implementation of this method may look like:
def run(self, *, input, calib): # "input", "calib", and "output" are the names of the # connection fields. # Assuming that input/calib datasets are `scalar` they are # simple objects, do something with inputs and calibs, produce # output image. image = self.makeImage(input, calib) # If output dataset is `scalar` then return object, not list return Struct(output=image)
- **kwargs
- runQuantum(butlerQC: QuantumContext, inputRefs: InputQuantizedConnection, outputRefs: OutputQuantizedConnection) None¶
Do butler IO and transform to provide in memory objects for tasks
runmethod.Parameters¶
- butlerQC
QuantumContext A butler which is specialized to operate in the context of a
lsst.daf.butler.Quantum.- inputRefs
InputQuantizedConnection Datastructure whose attribute names are the names that identify connections defined in corresponding
PipelineTaskConnectionsclass. The values of these attributes are thelsst.daf.butler.DatasetRefobjects associated with the defined input/prerequisite connections.- outputRefs
OutputQuantizedConnection Datastructure whose attribute names are the names that identify connections defined in corresponding
PipelineTaskConnectionsclass. The values of these attributes are thelsst.daf.butler.DatasetRefobjects associated with the defined output connections.
- butlerQC
- timer(name: str, logLevel: int = 10) Iterator[None]¶
Context manager to log performance data for an arbitrary block of code.
Parameters¶
- name
str Name of code being timed; data will be logged using item name:
StartandEnd.- logLevel
int A
logginglevel constant.
Examples¶
Creating a timer context:
with self.timer("someCodeToTime"): pass # code to time
See Also¶
lsst.utils.timer.logInfo : Implementation function.
- name