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, 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.

diaSrcpandas.Series

Full unassociated DiaSource to create a DiaObject from.

diaSourcespandas.DataFrame

DiaSource catalog to update information in. The catalog is modified in place. Must be indexed on: (visit, detector), diaSourceId.

visit, detectorint

Visit and detector ids where diaSrc was observed.

diaSourceIdint

Unique identifier of the DiaSource.

diaObjectCatlist of `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.

diaObjectCoordslist of `list`s of `lsst.geom.SpherePoint`s

Set of coordinates of DiaSource locations that make up the DiaObject average coordinate.

healPixIndiceslist of `int`s

HealPix indices representing the locations of each currently existing DiaObject.

createDiaObject(objId, ra, dec)#

Create a simple empty DiaObject with location and id information.

Parameters#

objIdint

Unique ID for this new DiaObject.

rafloat

RA location of this DiaObject.

decfloat

Dec location of this DiaObject

Returns#

DiaObjectdict

Dictionary of values representing a DiaObject.

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.

hpIndiceslist of `int`s

List of heal pix indices containing the DiaObjects in diaObjs.

diaObjslist of `dict`s

Catalog diaObjects to with full location information for comparing to DiaSources.

Returns#

resultslsst.pipe.base.Struct

Results struct containing

dists

Array of distances between the current DiaSource diaObjects. (numpy.ndarray or None)

matches

Array of array indices of diaObjects this DiaSource matches to. (numpy.ndarray or None)

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#

diaSourcespandas.DataFrame

DiaSources in clusters of visit, detector to spatially associate into DiaObjects.

idGeneratorlsst.meas.base.IdGenerator, optional

Object that generates Object IDs and random number generator seeds.

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).

updateCatalogs(matchIndex, diaSrc, diaSources, visit, detector, diaSourceId, diaObjCat, diaObjCoords, healPixIndices)#

Update DiaObject and DiaSource values after an association.

Parameters#

matchIndexint

Array index location of the DiaObject that diaSrc was 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. Must be indexed on: (visit, detector), diaSourceId.

visit, detectorint

Visit and detector ids where diaSrc was observed.

diaSourceIdint

Unique identifier of the DiaSource.

diaObjectCatlist of `dict`s

Catalog of diaObjects to append the new object o.

diaObjectCoordslist of `list`s of `lsst.geom.SpherePoint`s

Set of coordinates of DiaSource locations that make up the DiaObject average coordinate.

healPixIndiceslist of `int`s

HealPix indices representing the locations of each currently existing DiaObject.