GroupExposuresTask¶
- class lsst.obs.base.GroupExposuresTask(config: GroupExposuresConfig, **kwargs: Any)¶
- Bases: - Task- Abstract base class for the subtask of - DefineVisitsTaskthat is responsible for grouping exposures into visits.- Subclasses should be registered with - GroupExposuresTask.registryto enable use by- DefineVisitsTask, and should generally correspond to a particular ‘visit_system’ dimension value. They are also responsible for defining visit IDs and names that are unique across all visit systems in use by an instrument.- Parameters:
- configGroupExposuresConfig
- Configuration information. 
- **kwargs
- Additional keyword arguments forwarded to the - Taskconstructor.
 
- config
 - Attributes Summary - Methods Summary - Empty (clear) the metadata for this Task and all sub-Tasks. - find_missing(exposures, registry)- Determine, if possible, which exposures might be missing. - 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. - Return identifiers for the 'visit_system' dimension this algorithm implements. - group(exposures)- Group the given exposures into visits. - group_exposures(exposures)- Group the exposures in a way most natural for this visit definition. - 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.- timer(name[, logLevel])- Context manager to log performance data for an arbitrary block of code. - Attributes Documentation - registry = <abc.Registry object>¶
 - Methods Documentation - abstract find_missing(exposures: list[lsst.daf.butler.core.dimensions._records.DimensionRecord], registry: Registry) list[lsst.daf.butler.core.dimensions._records.DimensionRecord]¶
- Determine, if possible, which exposures might be missing. - Parameters:
- exposureslistoflsst.daf.butler.DimensionRecord
- The exposure records to analyze. 
- registrylsst.daf.butler.Registry
- A butler registry that contains these exposure records. 
 
- exposures
- Returns:
- missinglistoflsst.daf.butler.DimensionRecord
- Any exposure records present in registry that were related to the given exposures but were missing from that list and deemed to be relevant. 
 
- missing
 - Notes - Only some grouping schemes are able to find missing exposures. It is acceptable to return an empty list. 
 - 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
 
 - getVisitSystems() set[lsst.obs.base.defineVisits.VisitSystem]¶
- Return identifiers for the ‘visit_system’ dimension this algorithm implements. - Returns:
- visit_systemsSet[VisitSystem]
- The visit systems used by this algorithm. 
 
- visit_systems
 
 - abstract group(exposures: list[lsst.daf.butler.core.dimensions._records.DimensionRecord]) Iterable[VisitDefinitionData]¶
- Group the given exposures into visits. - Parameters:
- exposureslist[DimensionRecord]
- DimensionRecords (for the ‘exposure’ dimension) describing the exposures to group. 
 
- exposures
- Returns:
- visitsIterable[VisitDefinitionData]
- Structs identifying the visits and the exposures associated with them. This may be an iterator or a container. 
 
- visits
 
 - abstract group_exposures(exposures: list[lsst.daf.butler.core.dimensions._records.DimensionRecord]) dict[Any, list[lsst.daf.butler.core.dimensions._records.DimensionRecord]]¶
- Group the exposures in a way most natural for this visit definition. - Parameters:
- exposureslistoflsst.daf.butler.DimensionRecord
- The exposure records to group. 
 
- exposures
- Returns:
 
 - 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.