lsst.skymap  16.0-1-g4515a79+5
Public Member Functions | List of all members
lsst.skymap.tractInfo.TractInfo Class Reference
Inheritance diagram for lsst.skymap.tractInfo.TractInfo:
lsst.skymap.healpixSkyMap.HealpixTractInfo lsst.skymap.tractInfo.ExplicitTractInfo

Public Member Functions

def __init__ (self, id, patchInnerDimensions, patchBorder, ctrCoord, vertexCoordList, tractOverlap, wcs)
 
def getSequentialPatchIndex (self, patchInfo)
 
def findPatch (self, coord)
 
def findPatchList (self, coordList)
 
def getBBox (self)
 
def getCtrCoord (self)
 
def getId (self)
 
def getNumPatches (self)
 
def getPatchBorder (self)
 
def getPatchInfo (self, index)
 
def getPatchInnerDimensions (self)
 
def getTractOverlap (self)
 
def getVertexList (self)
 
def getInnerSkyPolygon (self)
 
def getOuterSkyPolygon (self)
 
def getWcs (self)
 
def __str__ (self)
 
def __repr__ (self)
 
def __iter__ (self)
 
def __len__ (self)
 
def __getitem__ (self, index)
 
def contains (self, coord)
 

Detailed Description

Information about a tract in a SkyMap sky pixelization

The tract is subdivided into rectangular patches. Each patch has the following properties:
- An inner region defined by an inner bounding. The inner regions of the patches exactly tile the tract,
  and all inner regions have the same dimensions. The tract is made larger as required to make this work.
- An outer region defined by an outer bounding box. The outer region extends beyond the inner region
  by patchBorder pixels in all directions, except there is no border at the edges of the tract.
  Thus patches overlap each other but never extend off the tract. If you do not want any overlap
  between adjacent patches then set patchBorder to 0.
- An index that consists of a pair of integers:
    0 <= x index < numPatches[0]
    0 <= y index < numPatches[1]
  Patch 0,0 is at the minimum corner of the tract bounding box.

Definition at line 31 of file tractInfo.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.skymap.tractInfo.TractInfo.__init__ (   self,
  id,
  patchInnerDimensions,
  patchBorder,
  ctrCoord,
  vertexCoordList,
  tractOverlap,
  wcs 
)
Construct a TractInfo

@param[in] id: tract ID
@param[in] patchInnerDimensions: dimensions of inner region of patches (x,y pixels)
@param[in] patchBorder: overlap between adjacent patches (in pixels, one int)
@param[in] ctrCoord: ICRS sky coordinate of center of inner region of tract
    as an lsst.afw.geom.SpherePoint; also used as the CRVAL for the WCS.
@param[in] vertexCoordList: list of ICRS sky coordinates (lsst.afw.geom.SpherePoint)
    of vertices that define the boundaries of the inner region
@param[in] tractOverlap: minimum overlap between adjacent sky tracts; an afwGeom.Angle;
    this defines the minimum distance the tract extends beyond the inner region in all directions
@param[in,out] wcs: an afwImage.Wcs; the reference pixel will be shifted as required
    so that the lower left-hand pixel (index 0,0) has pixel position 0.0, 0.0

@warning
- It is not enforced that ctrCoord is the center of vertexCoordList, but SkyMap relies on it

Definition at line 47 of file tractInfo.py.

Member Function Documentation

◆ __getitem__()

def lsst.skymap.tractInfo.TractInfo.__getitem__ (   self,
  index 
)

Definition at line 323 of file tractInfo.py.

◆ __iter__()

def lsst.skymap.tractInfo.TractInfo.__iter__ (   self)

Definition at line 313 of file tractInfo.py.

◆ __len__()

def lsst.skymap.tractInfo.TractInfo.__len__ (   self)

Definition at line 319 of file tractInfo.py.

◆ __repr__()

def lsst.skymap.tractInfo.TractInfo.__repr__ (   self)

Definition at line 310 of file tractInfo.py.

◆ __str__()

def lsst.skymap.tractInfo.TractInfo.__str__ (   self)

Definition at line 307 of file tractInfo.py.

◆ contains()

def lsst.skymap.tractInfo.TractInfo.contains (   self,
  coord 
)
Does this tract contain the coordinate?

Definition at line 326 of file tractInfo.py.

◆ findPatch()

def lsst.skymap.tractInfo.TractInfo.findPatch (   self,
  coord 
)
Find the patch containing the specified coord

@param[in] coord: ICRS sky coordinate (lsst.afw.geom.SpherePoint)
@return PatchInfo of patch whose inner bbox contains the specified coord

@raise LookupError if coord is not in tract or we cannot determine the
    pixel coordinate (which likely means the coord is off the tract).

@note This routine will be more efficient if coord is ICRS.

Definition at line 157 of file tractInfo.py.

◆ findPatchList()

def lsst.skymap.tractInfo.TractInfo.findPatchList (   self,
  coordList 
)
Find patches containing the specified list of coords

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

@warning:
* This may give incorrect answers on regions that are larger than a tract
* This uses a naive algorithm that may find some patches that do not overlap the region
    (especially if the region is not a rectangle aligned along patch x,y).

Definition at line 179 of file tractInfo.py.

◆ getBBox()

def lsst.skymap.tractInfo.TractInfo.getBBox (   self)
Get bounding box of tract (as an afwGeom.Box2I)

Definition at line 211 of file tractInfo.py.

◆ getCtrCoord()

def lsst.skymap.tractInfo.TractInfo.getCtrCoord (   self)
Get ICRS sky coordinate of center of tract (as an lsst.afw.geom.SpherePoint)

Definition at line 216 of file tractInfo.py.

◆ getId()

def lsst.skymap.tractInfo.TractInfo.getId (   self)
Get ID of tract

Definition at line 221 of file tractInfo.py.

◆ getInnerSkyPolygon()

def lsst.skymap.tractInfo.TractInfo.getInnerSkyPolygon (   self)
Get inner on-sky region as a sphgeom.ConvexPolygon.

Definition at line 289 of file tractInfo.py.

◆ getNumPatches()

def lsst.skymap.tractInfo.TractInfo.getNumPatches (   self)
Get the number of patches in x, y

@return the number of patches in x, y

Definition at line 226 of file tractInfo.py.

◆ getOuterSkyPolygon()

def lsst.skymap.tractInfo.TractInfo.getOuterSkyPolygon (   self)
Get outer on-sky region as a sphgeom.ConvexPolygon

Definition at line 295 of file tractInfo.py.

◆ getPatchBorder()

def lsst.skymap.tractInfo.TractInfo.getPatchBorder (   self)
Get batch border

@return patch border (pixels)

Definition at line 233 of file tractInfo.py.

◆ getPatchInfo()

def lsst.skymap.tractInfo.TractInfo.getPatchInfo (   self,
  index 
)
Return information for the specified patch

@param[in] index: index of patch, as a pair of ints;
    negative values are not supported
@return patch info, an instance of PatchInfo

@raise IndexError if index is out of range

Definition at line 240 of file tractInfo.py.

◆ getPatchInnerDimensions()

def lsst.skymap.tractInfo.TractInfo.getPatchInnerDimensions (   self)
Get dimensions of inner region of the patches (all are the same)

@return dimensions of inner region of the patches (as an afwGeom Extent2I)

Definition at line 268 of file tractInfo.py.

◆ getSequentialPatchIndex()

def lsst.skymap.tractInfo.TractInfo.getSequentialPatchIndex (   self,
  patchInfo 
)
Return a single integer that uniquely identifies the given patch
within this tract.

Definition at line 149 of file tractInfo.py.

◆ getTractOverlap()

def lsst.skymap.tractInfo.TractInfo.getTractOverlap (   self)
Get minimum overlap of adjacent sky tracts

@return minimum overlap between adjacent sky tracts, as an afwGeom Angle

Definition at line 275 of file tractInfo.py.

◆ getVertexList()

def lsst.skymap.tractInfo.TractInfo.getVertexList (   self)
Get list of sky coordinates of vertices that define the boundary of the inner region

@warning: this is not a deep copy

Definition at line 282 of file tractInfo.py.

◆ getWcs()

def lsst.skymap.tractInfo.TractInfo.getWcs (   self)
Get WCS of tract

@warning: this is not a deep copy

Definition at line 300 of file tractInfo.py.


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