LSSTApplications  18.1.0
LSSTDataManagementBasePackage
Classes | Functions | Variables
lsst.meas.base.forcedPhotCcd Namespace Reference

Classes

class  ForcedPhotCcdConfig
 
class  ForcedPhotCcdTask
 
class  PerTractCcdDataIdContainer
 

Functions

def imageOverlapsTract (tract, imageWcs, imageBox)
 

Variables

 applyMosaicResults = None
 

Function Documentation

◆ imageOverlapsTract()

def lsst.meas.base.forcedPhotCcd.imageOverlapsTract (   tract,
  imageWcs,
  imageBox 
)
Return whether the given bounding box overlaps the tract given a WCS.

Parameters
----------
tract : `lsst.skymap.TractInfo`
    TractInfo specifying a tract.
imageWcs : `lsst.afw.geom.SkyWcs`
    World coordinate system for the image.
imageBox : `lsst.geom.Box2I`
    Bounding box for the image.

Returns
-------
overlap : `bool`
    `True` if the bounding box overlaps the tract; `False` otherwise.

Definition at line 108 of file forcedPhotCcd.py.

108 def imageOverlapsTract(tract, imageWcs, imageBox):
109  """Return whether the given bounding box overlaps the tract given a WCS.
110 
111  Parameters
112  ----------
113  tract : `lsst.skymap.TractInfo`
114  TractInfo specifying a tract.
115  imageWcs : `lsst.afw.geom.SkyWcs`
116  World coordinate system for the image.
117  imageBox : `lsst.geom.Box2I`
118  Bounding box for the image.
119 
120  Returns
121  -------
122  overlap : `bool`
123  `True` if the bounding box overlaps the tract; `False` otherwise.
124  """
125  tractPoly = tract.getOuterSkyPolygon()
126 
127  imagePixelCorners = lsst.geom.Box2D(imageBox).getCorners()
128  try:
129  imageSkyCorners = imageWcs.pixelToSky(imagePixelCorners)
130  except lsst.pex.exceptions.LsstCppException as e:
131  # Protecting ourselves from awful Wcs solutions in input images
132  if (not isinstance(e.message, lsst.pex.exceptions.DomainErrorException) and
133  not isinstance(e.message, lsst.pex.exceptions.RuntimeErrorException)):
134  raise
135  return False
136 
137  imagePoly = lsst.sphgeom.ConvexPolygon.convexHull([coord.getVector() for coord in imageSkyCorners])
138  return tractPoly.intersects(imagePoly) # "intersects" also covers "contains" or "is contained by"
139 
140 
A floating-point coordinate rectangle geometry.
Definition: Box.h:305
static ConvexPolygon convexHull(std::vector< UnitVector3d > const &points)
convexHull returns the convex hull of the given set of points if it exists and throws an exception ot...
Definition: ConvexPolygon.h:65
def imageOverlapsTract(tract, imageWcs, imageBox)

Variable Documentation

◆ applyMosaicResults

lsst.meas.base.forcedPhotCcd.applyMosaicResults = None

Definition at line 39 of file forcedPhotCcd.py.