lsst.meas.algorithms 22.0.1-35-gcb622b2d+cb018f3740
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader Class Reference
Inheritance diagram for lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader:
lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoaderBase

Public Member Functions

def __init__ (self, dataIds, refCats, config, log=None)
 
def loadPixelBox (self, bbox, wcs, filterName=None, epoch=None, photoCalib=None, bboxToSpherePadding=100)
 
def loadRegion (self, region, filtFunc=None, filterName=None, epoch=None)
 
def loadSkyCircle (self, ctrCoord, radius, filterName=None, epoch=None)
 
def joinMatchListWithCatalog (self, matchCat, sourceCat)
 
def getMetadataBox (self, bbox, wcs, filterName=None, photoCalib=None, epoch=None, bboxToSpherePadding=100)
 

Static Public Member Functions

def getMetadataCircle (coord, radius, filterName, photoCalib=None, epoch=None)
 
def addFluxAliases (refCat, defaultFilter, filterReferenceMap)
 
def remapReferenceCatalogSchema (refCat, *filterNameList=None, position=False, photometric=False)
 

Public Attributes

 dataIds
 
 refCats
 
 log
 
 config
 

Detailed Description

This class facilitates loading reference catalogs with gen 3 middleware

The middleware preflight solver will create a list of datarefs that may
possibly overlap a given region. These datarefs are then used to construct
and instance of this class. The class instance should then be passed into
a task which needs reference catalogs. These tasks should then determine
the exact region of the sky reference catalogs will be loaded for, and
call a corresponding method to load the reference objects.

Definition at line 305 of file loadReferenceObjects.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader.__init__ (   self,
  dataIds,
  refCats,
  config,
  log = None 
)
 Constructs an instance of ReferenceObjectLoader

Parameters
----------
dataIds : iterable of `lsst.daf.butler.DataIds`
    An iterable object of DataSetRefs which point to reference catalogs
    in a gen 3 repository.
refCats : iterable of `lsst.daf.butler.DeferedDatasetHandle`
    Handles to load refCats on demand
config : `lsst.pex.config.configurableField`
    Configuration for the loader.
log : `lsst.log.Log`, `logging.Logger` or `None`, optional
    Logger object used to write out messages. If `None` a default
    logger will be used.

Definition at line 315 of file loadReferenceObjects.py.

Member Function Documentation

◆ addFluxAliases()

def lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader.addFluxAliases (   refCat,
  defaultFilter,
  filterReferenceMap 
)
static
Add flux columns and aliases for camera to reference mapping.

Creates a new catalog containing the information of the input refCat
as well as added flux columns and aliases between camera and reference
fluxes.

Parameters
----------
refCat : `lsst.afw.table.SimpleCatalog`
    Catalog of reference objects
defaultFilter : `str`
    Name of the default reference filter
filterReferenceMap : `dict` of `str`
    Dictionary with keys corresponding to a filter name and values
    which correspond to the name of the reference filter.

Returns
-------
refCat : `lsst.afw.table.SimpleCatalog`
    Reference catalog with columns added to track reference filters.

Raises
------
`RuntimeError`
    If the specified reference filter name is not specifed as a
    key in the reference filter map.

Definition at line 716 of file loadReferenceObjects.py.

◆ getMetadataBox()

def lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader.getMetadataBox (   self,
  bbox,
  wcs,
  filterName = None,
  photoCalib = None,
  epoch = None,
  bboxToSpherePadding = 100 
)
Return metadata about the load

This metadata is used for reloading the catalog (e.g., for
reconstituting a normalised match list.)

Parameters
----------
bbox : `lsst.geom.Box2I` or `lsst.geom.Box2D`
    Bounding box for the pixels.
wcs : `lsst.afw.geom.SkyWcs`
    The WCS object associated with ``bbox``.
filterName : `str` or `None`, optional
    Name of the camera filter, or `None` or blank for the default
    filter.
photoCalib : `None`
    Deprecated, only included for api compatibility.
epoch : `astropy.time.Time` or `None`,  optional
    Epoch to which to correct proper motion and parallax, or `None` to
    not apply such corrections.
bboxToSpherePadding : `int`, optional
    Padding to account for translating a set of corners into a
    spherical (convex) boundary that is certain to encompase the
    enitre area covered by the box.

Returns
-------
md : `lsst.daf.base.PropertyList`
    The metadata detailing the search parameters used for this
    dataset.

Definition at line 632 of file loadReferenceObjects.py.

◆ getMetadataCircle()

def lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader.getMetadataCircle (   coord,
  radius,
  filterName,
  photoCalib = None,
  epoch = None 
)
static
Return metadata about the load.

This metadata is used for reloading the catalog (e.g. for
reconstituting a normalized match list.)

Parameters
----------
coord : `lsst.geom.SpherePoint`
    ICRS center of the search region.
radius : `lsst.geom.Angle`
    Radius of the search region.
filterName : `str` or `None`
    Name of the camera filter, or `None` or blank for the default
    filter.
photoCalib : `None`
    Deprecated, only included for api compatibility.
epoch : `astropy.time.Time` or `None`, optional
    Epoch to which to correct proper motion and parallax, or `None` to
    not apply such corrections.

Returns
-------
md : `lsst.daf.base.PropertyList`

Definition at line 680 of file loadReferenceObjects.py.

◆ joinMatchListWithCatalog()

def lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader.joinMatchListWithCatalog (   self,
  matchCat,
  sourceCat 
)
Relink an unpersisted match list to sources and reference objects.

A match list is persisted and unpersisted as a catalog of IDs
produced by afw.table.packMatches(), with match metadata
(as returned by the astrometry tasks) in the catalog's metadata
attribute. This method converts such a match catalog into a match
list, with links to source records and reference object records.

Parameters
----------
matchCat : `lsst.afw.table.BaseCatalog`
    Unpersisted packed match list.
    ``matchCat.table.getMetadata()`` must contain match metadata,
    as returned by the astrometry tasks.
sourceCat : `lsst.afw.table.SourceCatalog`
    Source catalog. As a side effect, the catalog will be sorted
    by ID.

Returns
-------
matchList : `lsst.afw.table.ReferenceMatchVector`
    Match list.

Definition at line 606 of file loadReferenceObjects.py.

◆ loadPixelBox()

def lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader.loadPixelBox (   self,
  bbox,
  wcs,
  filterName = None,
  epoch = None,
  photoCalib = None,
  bboxToSpherePadding = 100 
)
Load reference objects that are within a pixel-based rectangular
region.

This algorithm works by creating a spherical box whose corners
correspond to the WCS converted corners of the input bounding box
(possibly padded).  It then defines a filtering function which looks at
the pixel position of the reference objects and accepts only those that
lie within the specified bounding box.

The spherical box region and filtering function are passed to the
generic loadRegion method which loads and filters the reference objects
from the datastore and returns a single catalog containing the filtered
set of reference objects.

Parameters
----------
bbox : `lsst.geom.Box2I` or `lsst.geom.Box2D`
    Box which bounds a region in pixel space.
wcs : `lsst.afw.geom.SkyWcs`
    Wcs object defining the pixel to sky (and inverse) transform for
    the supplied ``bbox``.
filterName : `str` or `None`, optional
    Name of camera filter, or `None` or blank for the default filter.
epoch : `astropy.time.Time` or `None`, optional
    Epoch to which to correct proper motion and parallax, or `None`
    to not apply such corrections.
photoCalib : `None`
    Deprecated and ignored, only included for api compatibility.
bboxToSpherePadding : `int`, optional
    Padding to account for translating a set of corners into a
    spherical (convex) boundary that is certain to encompase the
    enitre area covered by the box.

Returns
-------
referenceCatalog : `lsst.afw.table.SimpleCatalog`
    Catalog containing reference objects inside the specified bounding
    box (padded by self.config.pixelMargin).

Raises
------
RuntimeError
    Raised if no reference catalogs could be found for the specified
    region.
TypeError
    Raised if the loaded reference catalogs do not have matching
    schemas.

Definition at line 373 of file loadReferenceObjects.py.

◆ loadRegion()

def lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader.loadRegion (   self,
  region,
  filtFunc = None,
  filterName = None,
  epoch = None 
)
Load reference objects within a specified region.

This function loads the DataIds used to construct an instance of this
class which intersect or are contained within the specified region. The
reference catalogs which intersect but are not fully contained within
the input region are further filtered by the specified filter function.
This function returns a single source catalog containing all reference
objects inside the specified region.

Parameters
----------
region : `lsst.sphgeom.Region`
    This can be any type that is derived from `lsst.sphgeom.Region` and
    should define the spatial region for which reference objects are to
    be loaded.
filtFunc : callable or `None`, optional
    This optional parameter should be a callable object that takes a
    reference catalog and its corresponding region as parameters,
    filters the catalog by some criteria and returns the filtered
    reference catalog. If `None`, an internal filter function is used
    which filters according to if a reference object falls within the
    input region.
filterName : `str` or `None`, optional
    Name of camera filter, or `None` or blank for the default filter.
epoch : `astropy.time.Time` or `None`, optional
    Epoch to which to correct proper motion and parallax, or `None` to
    not apply such corrections.

Returns
-------
referenceCatalog : `lsst.afw.table.SourceCatalog`
    Catalog containing reference objects which intersect the input region,
    filtered by the specified filter function.

Raises
------
RuntimeError
    Raised if no reference catalogs could be found for the specified
    region.
TypeError
    Raised if the loaded reference catalogs do not have matching
    schemas.

Definition at line 460 of file loadReferenceObjects.py.

◆ loadSkyCircle()

def lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader.loadSkyCircle (   self,
  ctrCoord,
  radius,
  filterName = None,
  epoch = None 
)
Load reference objects that lie within a circular region on the sky.

This method constructs a circular region from an input center and
angular radius, loads reference catalogs which are contained in or
intersect the circle, and filters reference catalogs which intersect
down to objects which lie within the defined circle.

Parameters
----------
ctrCoord : `lsst.geom.SpherePoint`
    Point defining the center of the circular region.
radius : `lsst.geom.Angle`
    Defines the angular radius of the circular region.
filterName : `str` or `None`, optional
    Name of camera filter, or `None` or blank for the default filter.
epoch : `astropy.time.Time` or `None`, optional
    Epoch to which to correct proper motion and parallax, or `None` to
    not apply such corrections.

Returns
-------
referenceCatalog : `lsst.afw.table.SourceCatalog`
    Catalog containing reference objects inside the specified search
    circle.

Definition at line 575 of file loadReferenceObjects.py.

◆ remapReferenceCatalogSchema()

def lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader.remapReferenceCatalogSchema (   refCat,
filterNameList = None,
  position = False,
  photometric = False 
)
static
This function takes in a reference catalog and creates a new catalog with additional
columns defined the remaining function arguments.

Parameters
----------
refCat : `lsst.afw.table.SimpleCatalog`
    Reference catalog to map to new catalog

Returns
-------
expandedCat : `lsst.afw.table.SimpleCatalog`
    Deep copy of input reference catalog with additional columns added

Definition at line 765 of file loadReferenceObjects.py.

Member Data Documentation

◆ config

lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader.config

Definition at line 334 of file loadReferenceObjects.py.

◆ dataIds

lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader.dataIds

Definition at line 331 of file loadReferenceObjects.py.

◆ log

lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader.log

Definition at line 333 of file loadReferenceObjects.py.

◆ refCats

lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader.refCats

Definition at line 332 of file loadReferenceObjects.py.


The documentation for this class was generated from the following file: