AssociationTask¶
- class lsst.ap.association.AssociationTask(config: Config | None = None, *, name: str | None = None, parentTask: Task | None = None, log: logging.Logger | lsst.utils.logging.LsstLogAdapter | None = None)¶
- Bases: - Task- Associate DIAOSources into existing DIAObjects. - This task performs the association of detected DIASources in a visit with the previous DIAObjects detected over time. It also creates new DIAObjects out of DIASources that cannot be associated with previously detected DIAObjects. - Methods Summary - associate_sources(dia_objects, dia_sources)- Associate the input DIASources with the catalog of DIAObjects. - check_dia_source_radec(dia_sources)- Check that all DiaSources have non-NaN values for RA/DEC. - 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.- match(dia_objects, dia_sources, score_struct)- Match DIAsources to DiaObjects given a score. - run(diaSources, diaObjects)- Associate the new DiaSources with existing DiaObjects. - score(dia_objects, dia_sources, max_dist)- Compute a quality score for each dia_source/dia_object pair between this catalog of DIAObjects and the input DIASource catalog. - timer(name[, logLevel])- Context manager to log performance data for an arbitrary block of code. - Methods Documentation - associate_sources(dia_objects, dia_sources)¶
- Associate the input DIASources with the catalog of DIAObjects. - DiaObject DataFrame must be indexed on - diaObjectId.- Parameters:
- dia_objectspandas.DataFrame
- Catalog of DIAObjects to attempt to associate the input DIASources into. 
- dia_sourcespandas.DataFrame
- DIASources to associate into the DIAObjectCollection. 
 
- dia_objects
- Returns:
- resultlsst.pipe.base.Struct
- Results struct with components. - "diaSources": Full set of diaSources both matched and not. (- pandas.DataFrame)
- "nUpdatedDiaObjects": Number of DiaObjects that were associated. (- int)
- "nUnassociatedDiaObjects": Number of DiaObjects that were not matched a new DiaSource. (- int)
 
 
- result
 
 - check_dia_source_radec(dia_sources)¶
- Check that all DiaSources have non-NaN values for RA/DEC. - If one or more DiaSources are found to have NaN values, throw a warning to the log with the ids of the offending sources. Drop them from the table. - Parameters:
- dia_sourcespandas.DataFrame
- Input DiaSources to check for NaN values. 
 
- dia_sources
- Returns:
- trimmed_sourcespandas.DataFrame
- DataFrame of DiaSources trimmed of all entries with NaN values for RA/DEC. 
 
- trimmed_sources
 
 - 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, ReferenceType[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.
 - match(dia_objects, dia_sources, score_struct)¶
- Match DIAsources to DiaObjects given a score. - Parameters:
- dia_objectspandas.DataFrame
- A SourceCatalog of DIAObjects to associate to DIASources. 
- dia_sourcespandas.DataFrame
- A contiguous catalog of dia_sources for which the set of scores has been computed on with DIAObjectCollection.score. 
- score_structlsst.pipe.base.Struct
- Results struct with components: - "scores": array of floats of match quality
- updated DIAObjects (array-like of - float).
 
- "obj_ids": array of floats of match quality
- updated DIAObjects (array-like of - int).
 
- "obj_idxs": indexes of the matched DIAObjects in the catalog.
- (array-like of - int)
 
 - Default values for these arrays are INF, -1 and -1 respectively for unassociated sources. 
 
- dia_objects
- Returns:
- resultlsst.pipe.base.Struct
- Results struct with components. - "diaSources": Full set of diaSources both matched and not. (- pandas.DataFrame)
- "nUpdatedDiaObjects": Number of DiaObjects that were associated. (- int)
- "nUnassociatedDiaObjects": Number of DiaObjects that were not matched a new DiaSource. (- int)
 
 
- result
 
 - run(diaSources, diaObjects)¶
- Associate the new DiaSources with existing DiaObjects. - Parameters:
- diaSourcespandas.DataFrame
- New DIASources to be associated with existing DIAObjects. 
- diaObjectspandas.DataFrame
- Existing diaObjects from the Apdb. 
 
- diaSources
- Returns:
- resultlsst.pipe.base.Struct
- Results struct with components. - "matchedDiaSources": DiaSources that were matched. Matched Sources have their diaObjectId updated and set to the id of the diaObject they were matched to. (- pandas.DataFrame)
- "unAssocDiaSources": DiaSources that were not matched. Unassociated sources have their diaObject set to 0 as they were not associated with any existing DiaObjects. (- pandas.DataFrame)
- "nUpdatedDiaObjects": Number of DiaObjects that were matched to new DiaSources. (- int)
- "nUnassociatedDiaObjects": Number of DiaObjects that were not matched a new DiaSource. (- int)
 
 
- result
 
 - score(dia_objects, dia_sources, max_dist)¶
- Compute a quality score for each dia_source/dia_object pair between this catalog of DIAObjects and the input DIASource catalog. - max_distsets maximum separation in arcseconds to consider a dia_source a possible match to a dia_object. If the pair is beyond this distance no score is computed.- Parameters:
- dia_objectspandas.DataFrame
- A contiguous catalog of DIAObjects to score against dia_sources. 
- dia_sourcespandas.DataFrame
- A contiguous catalog of dia_sources to “score” based on distance and (in the future) other metrics. 
- max_distlsst.geom.Angle
- Maximum allowed distance to compute a score for a given DIAObject DIASource pair. 
 
- dia_objects
- Returns:
- resultlsst.pipe.base.Struct
- Results struct with components: - "scores": array of floats of match quality updated DIAObjects
- (array-like of - float).
 
- "obj_idxs": indexes of the matched DIAObjects in the catalog.
- (array-like of - int)
 
- "obj_ids": array of floats of match quality updated DIAObjects
- (array-like of - int).
 
 - Default values for these arrays are INF, -1, and -1 respectively for unassociated sources. 
 
- result