lsst.skymap  14.0-7-gb7a597c
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.skymap.baseSkyMap.BaseSkyMap Class Reference
Inheritance diagram for lsst.skymap.baseSkyMap.BaseSkyMap:
lsst.skymap.cachingSkyMap.CachingSkyMap lsst.skymap.dodecaSkyMap.DodecaSkyMap lsst.skymap.equatSkyMap.EquatSkyMap lsst.skymap.discreteSkyMap.DiscreteSkyMap lsst.skymap.healpixSkyMap.HealpixSkyMap lsst.skymap.ringsSkyMap.RingsSkyMap

Public Member Functions

def __init__ (self, config=None)
 
def findTract (self, coord)
 
def findTractPatchList (self, coordList)
 
def findClosestTractPatchList (self, coordList)
 
def __getitem__ (self, ind)
 
def __iter__ (self)
 
def __len__ (self)
 
def __hash__ (self)
 
def __eq__ (self, other)
 
def __ne__ (self, other)
 
def getSha1 (self)
 
def updateSha1 (self, sha1)
 

Public Attributes

 config
 

Static Public Attributes

 ConfigClass = BaseSkyMapConfig
 

Detailed Description

A collection of overlapping Tracts that map part or all of the sky.

See TractInfo for more information.

BaseSkyMap is an abstract base class. Subclasses must do the following:
@li define __init__ and have it construct the TractInfo objects and put them in _tractInfoList
@li define __getstate__ and __setstate__ to allow pickling (the butler saves sky maps using pickle);
    see DodecaSkyMap for an example of how to do this. (Most of that code could be moved
    into this base class, but that would make it harder to handle older versions of pickle data.)
@li define updateSha1 to add any subclass-specific state to the hash.

All SkyMap subclasses must be conceptually immutable; they must always
refer to the same set of mathematical tracts and patches even if the in-
memory representation of those objects changes.

Definition at line 75 of file baseSkyMap.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.skymap.baseSkyMap.BaseSkyMap.__init__ (   self,
  config = None 
)
Construct a BaseSkyMap

@param[in] config: an instance of self.ConfigClass; if None the default config is used

Definition at line 93 of file baseSkyMap.py.

Member Function Documentation

◆ __eq__()

def lsst.skymap.baseSkyMap.BaseSkyMap.__eq__ (   self,
  other 
)

Definition at line 175 of file baseSkyMap.py.

◆ __getitem__()

def lsst.skymap.baseSkyMap.BaseSkyMap.__getitem__ (   self,
  ind 
)

Definition at line 163 of file baseSkyMap.py.

◆ __hash__()

def lsst.skymap.baseSkyMap.BaseSkyMap.__hash__ (   self)

Definition at line 172 of file baseSkyMap.py.

◆ __iter__()

def lsst.skymap.baseSkyMap.BaseSkyMap.__iter__ (   self)

Definition at line 166 of file baseSkyMap.py.

◆ __len__()

def lsst.skymap.baseSkyMap.BaseSkyMap.__len__ (   self)

Definition at line 169 of file baseSkyMap.py.

◆ __ne__()

def lsst.skymap.baseSkyMap.BaseSkyMap.__ne__ (   self,
  other 
)

Definition at line 181 of file baseSkyMap.py.

◆ findClosestTractPatchList()

def lsst.skymap.baseSkyMap.BaseSkyMap.findClosestTractPatchList (   self,
  coordList 
)
Find closest tract and patches that overlap coordinates

@param[in] coordList: list of ICRS sky coordinates (lsst.afw.geom.SpherePoint)
@return list of (TractInfo, list of PatchInfo) for tracts and patches that contain,
    or may contain, the specified region. The list will be empty if there is no overlap.

Definition at line 148 of file baseSkyMap.py.

◆ findTract()

def lsst.skymap.baseSkyMap.BaseSkyMap.findTract (   self,
  coord 
)
Find the tract whose center is nearest the specified coord.

@param[in] coord: ICRS sky coordinate (lsst.afw.geom.SpherePoint)
@return TractInfo of tract whose center is nearest the specified coord

@warning:
- if tracts do not cover the whole sky then the returned tract may not include the coord

@note
- This routine will be more efficient if coord is ICRS.
- If coord is equidistant between multiple sky tract centers then one is arbitrarily chosen.
- The default implementation is not very efficient; subclasses may wish to override.

Definition at line 110 of file baseSkyMap.py.

◆ findTractPatchList()

def lsst.skymap.baseSkyMap.BaseSkyMap.findTractPatchList (   self,
  coordList 
)
Find tracts and patches that overlap a region

@param[in] coordList: list of ICRS sky coordinates (lsst.afw.geom.SpherePoint)
@return list of (TractInfo, list of PatchInfo) for tracts and patches that contain,
    or may contain, the specified region. The list will be empty if there is no overlap.

@warning this uses a naive algorithm that may find some tracts and patches that do not overlap
    the region (especially if the region is not a rectangle aligned along patch x,y).

Definition at line 131 of file baseSkyMap.py.

◆ getSha1()

def lsst.skymap.baseSkyMap.BaseSkyMap.getSha1 (   self)
Return a SHA1 hash that uniquely identifies this SkyMap instance.

Returns
-------
sha1 : bytes
    A 20-byte hash that uniquely identifies this SkyMap instance.

Subclasses should almost always override `updateSha1()` instead of
this function to add subclass-specific state to the hash.

Definition at line 184 of file baseSkyMap.py.

◆ updateSha1()

def lsst.skymap.baseSkyMap.BaseSkyMap.updateSha1 (   self,
  sha1 
)
Add subclass-specific state or configuration options to the SHA1.

Parameters
----------
sha1 : hashlib.sha1
    A hashlib object on which `update()` can be called to add
    additional state to the hash.

This method is conceptually "protected": it should be reimplemented by
all subclasses, but called only by the base class implementation of
`getSha1()`.

Definition at line 213 of file baseSkyMap.py.

Member Data Documentation

◆ config

lsst.skymap.baseSkyMap.BaseSkyMap.config

Definition at line 101 of file baseSkyMap.py.

◆ ConfigClass

lsst.skymap.baseSkyMap.BaseSkyMap.ConfigClass = BaseSkyMapConfig
static

Definition at line 91 of file baseSkyMap.py.


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