SimpleAssociationTask¶
- class lsst.pipe.tasks.simpleAssociation.SimpleAssociationTask(config: Config | None = None, *, name: str | None = None, parentTask: Task | None = None, log: logging.Logger | lsst.utils.logging.LsstLogAdapter | None = None)¶
- Bases: - Task- Construct DiaObjects from a DataFrame of DIASources by spatially associating the sources. - Represents a simple, brute force algorithm, 2-way matching of DiaSources into. DiaObjects. Algorithm picks the nearest, first match within the matching radius of a DiaObject to associate a source to for simplicity. - Methods Summary - addNewDiaObject(diaSrc, diaSources, ...)- Create a new DiaObject and append its data. - createDiaObject(objId, ra, dec)- Create a simple empty DiaObject with location and id information. - Empty (clear) the metadata for this Task and all sub-Tasks. - findMatches(src_ra, src_dec, tol, hpIndices, ...)- Search healPixels around DiaSource locations for DiaObjects. - 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.- run(diaSources[, tractPatchId, skymapBits, ...])- Associate DiaSources into a collection of DiaObjects using a brute force matching algorithm. - timer(name[, logLevel])- Context manager to log performance data for an arbitrary block of code. - updateCatalogs(matchIndex, diaSrc, ...)- Update DiaObject and DiaSource values after an association. - Methods Documentation - addNewDiaObject(diaSrc, diaSources, ccdVisit, diaSourceId, diaObjCat, idCat, diaObjCoords, healPixIndices)¶
- Create a new DiaObject and append its data. - Parameters:
- diaSrcpandas.Series
- Full unassociated DiaSource to create a DiaObject from. 
- diaSourcespandas.DataFrame
- DiaSource catalog to update information in. The catalog is modified in place. 
- ccdVisitint
- Unique identifier of the ccdVisit where - diaSrcwas observed.
- diaSourceIdint
- Unique identifier of the DiaSource. 
- diaObjectCatlistof `dict`s
- Catalog of diaObjects to append the new object o. 
- idCatlsst.afw.table.SourceCatalog
- Catalog with the IdFactory used to generate unique DiaObject identifiers. 
- diaObjectCoordslistof `list`s of `lsst.geom.SpherePoint`s
- Set of coordinates of DiaSource locations that make up the DiaObject average coordinate. 
- healPixIndiceslistof `int`s
- HealPix indices representing the locations of each currently existing DiaObject. 
 
- diaSrc
 
 - createDiaObject(objId, ra, dec)¶
- Create a simple empty DiaObject with location and id information. 
 - findMatches(src_ra, src_dec, tol, hpIndices, diaObjs)¶
- Search healPixels around DiaSource locations for DiaObjects. - Parameters:
- src_rafloat
- DiaSource RA location. 
- src_decfloat
- DiaSource Dec location. 
- tolfloat
- Size of annulus to convert to covering healPixels and search for DiaObjects. 
- hpIndiceslistof `int`s
- List of heal pix indices containing the DiaObjects in - diaObjs.
- diaObjslistof `dict`s
- Catalog diaObjects to with full location information for comparing to DiaSources. 
 
- src_ra
- Returns:
- resultslsst.pipe.base.Struct
- Results struct containing - dists
- Array of distances between the current DiaSource diaObjects. ( - numpy.ndarrayor- None)
- matches
- Array of array indices of diaObjects this DiaSource matches to. ( - numpy.ndarrayor- None)
 
 
- results
 
 - 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.
 - run(diaSources, tractPatchId=None, skymapBits=None, idGenerator=None)¶
- Associate DiaSources into a collection of DiaObjects using a brute force matching algorithm. - Reproducible is for the same input data is assured by ordering the DiaSource data by ccdVisit ordering. - Parameters:
- diaSourcespandas.DataFrame
- DiaSources grouped by CcdVisitId to spatially associate into DiaObjects. 
- tractPatchIdint, optional
- Unique identifier for the tract patch. Deprecated in favor of - idGeneratoralong with- lsst.obs.base.ExposureIdInfo.
- skymapBitsint
- Maximum number of bits used the - tractPatchIdinteger identifier. Deprecated in favor of- idGeneratoralong with- lsst.obs.base.ExposureIdInfo.
- idGeneratorlsst.meas.base.IdGenerator, optional
- Object that generates Object IDs and random number generator seeds. 
 
- diaSources
- Returns:
- resultslsst.pipe.base.Struct
- Results struct with attributes: - assocDiaSources
- Table of DiaSources with updated values for the DiaObjects they are spatially associated to ( - pandas.DataFrame).
- diaObjects
- Table of DiaObjects from matching DiaSources ( - pandas.DataFrame).
 
 
- results
 
 - timer(name: str, logLevel: int = 10) Iterator[None]¶
- Context manager to log performance data for an arbitrary block of code. - Parameters:
 - See also - lsst.utils.timer.logInfo
- Implementation function. 
 - Examples - Creating a timer context: - with self.timer("someCodeToTime"): pass # code to time 
 - updateCatalogs(matchIndex, diaSrc, diaSources, ccdVisit, diaSourceId, diaObjCat, diaObjCoords, healPixIndices)¶
- Update DiaObject and DiaSource values after an association. - Parameters:
- matchIndexint
- Array index location of the DiaObject that - diaSrcwas associated to.
- diaSrcpandas.Series
- Full unassociated DiaSource to create a DiaObject from. 
- diaSourcespandas.DataFrame
- DiaSource catalog to update information in. The catalog is modified in place. 
- ccdVisitint
- Unique identifier of the ccdVisit where - diaSrcwas observed.
- diaSourceIdint
- Unique identifier of the DiaSource. 
- diaObjectCatlistof `dict`s
- Catalog of diaObjects to append the new object o. 
- diaObjectCoordslistof `list`s of `lsst.geom.SpherePoint`s
- Set of coordinates of DiaSource locations that make up the DiaObject average coordinate. 
- healPixIndiceslistof `int`s
- HealPix indices representing the locations of each currently existing DiaObject. 
 
- matchIndex