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:
TaskConstruct 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, visit, ...)Create a new DiaObject and append its data.
createDiaObject(objId, ra, dec)Create a simple empty DiaObject with location and id information.
findMatches(src_ra, src_dec, tol, hpIndices, ...)Search healPixels around DiaSource locations for DiaObjects.
run(diaSources[, idGenerator])Associate DiaSources into a collection of DiaObjects using a brute force matching algorithm.
updateCatalogs(matchIndex, diaSrc, ...)Update DiaObject and DiaSource values after an association.
Methods Documentation
- addNewDiaObject(diaSrc, diaSources, visit, detector, diaSourceId, diaObjCat, idCat, diaObjCoords, healPixIndices)#
Create a new DiaObject and append its data.
- diaSrc
pandas.Series Full unassociated DiaSource to create a DiaObject from.
- diaSources
pandas.DataFrame DiaSource catalog to update information in. The catalog is modified in place. Must be indexed on:
(visit, detector), diaSourceId.- visit, detector
int Visit and detector ids where
diaSrcwas observed.
- diaSourceId
int Unique identifier of the DiaSource.
- diaObjectCat
listof `dict`s Catalog of diaObjects to append the new object o.
- idCat
lsst.afw.table.SourceCatalog Catalog with the IdFactory used to generate unique DiaObject identifiers.
- diaObjectCoords
listof `list`s of `lsst.geom.SpherePoint`s Set of coordinates of DiaSource locations that make up the DiaObject average coordinate.
- healPixIndices
listof `int`s HealPix indices representing the locations of each currently existing DiaObject.
- diaObjectCat
- diaSrc
- createDiaObject(objId, ra, dec)#
Create a simple empty DiaObject with location and id information.
Parameters#
- objId
int Unique ID for this new DiaObject.
- ra
float RA location of this DiaObject.
- dec
float Dec location of this DiaObject
Returns#
- DiaObject
dict Dictionary of values representing a DiaObject.
- objId
- findMatches(src_ra, src_dec, tol, hpIndices, diaObjs)#
Search healPixels around DiaSource locations for DiaObjects.
Parameters#
- src_ra
float DiaSource RA location.
- src_dec
float DiaSource Dec location.
- tol
float Size of annulus to convert to covering healPixels and search for DiaObjects.
- hpIndices
listof `int`s List of heal pix indices containing the DiaObjects in
diaObjs.- diaObjs
listof `dict`s Catalog diaObjects to with full location information for comparing to DiaSources.
Returns#
- results
lsst.pipe.base.Struct Results struct containing
distsArray of distances between the current DiaSource diaObjects. (
numpy.ndarrayorNone)matchesArray of array indices of diaObjects this DiaSource matches to. (
numpy.ndarrayorNone)
- src_ra
- run(diaSources, idGenerator=None)#
Associate DiaSources into a collection of DiaObjects using a brute force matching algorithm.
Reproducible for the same input data is assured by ordering the DiaSource data by visit,detector.
Parameters#
- diaSources
pandas.DataFrame DiaSources in clusters of visit, detector to spatially associate into DiaObjects.
- idGenerator
lsst.meas.base.IdGenerator, optional Object that generates Object IDs and random number generator seeds.
Returns#
- results
lsst.pipe.base.Struct Results struct with attributes:
assocDiaSourcesTable of DiaSources with updated values for the DiaObjects they are spatially associated to (
pandas.DataFrame).diaObjectsTable of DiaObjects from matching DiaSources (
pandas.DataFrame).
- diaSources
- updateCatalogs(matchIndex, diaSrc, diaSources, visit, detector, diaSourceId, diaObjCat, diaObjCoords, healPixIndices)#
Update DiaObject and DiaSource values after an association.
Parameters#
- matchIndex
int Array index location of the DiaObject that
diaSrcwas associated to.- diaSrc
pandas.Series Full unassociated DiaSource to create a DiaObject from.
- diaSources
pandas.DataFrame DiaSource catalog to update information in. The catalog is modified in place. Must be indexed on:
(visit, detector), diaSourceId.- visit, detector
int Visit and detector ids where
diaSrcwas observed.- diaSourceId
int Unique identifier of the DiaSource.
- diaObjectCat
listof `dict`s Catalog of diaObjects to append the new object o.
- diaObjectCoords
listof `list`s of `lsst.geom.SpherePoint`s Set of coordinates of DiaSource locations that make up the DiaObject average coordinate.
- healPixIndices
listof `int`s HealPix indices representing the locations of each currently existing DiaObject.
- matchIndex