LSSTApplications  17.0+11,17.0+34,17.0+56,17.0+57,17.0+59,17.0+7,17.0-1-g377950a+33,17.0.1-1-g114240f+2,17.0.1-1-g4d4fbc4+28,17.0.1-1-g55520dc+49,17.0.1-1-g5f4ed7e+52,17.0.1-1-g6dd7d69+17,17.0.1-1-g8de6c91+11,17.0.1-1-gb9095d2+7,17.0.1-1-ge9fec5e+5,17.0.1-1-gf4e0155+55,17.0.1-1-gfc65f5f+50,17.0.1-1-gfc6fb1f+20,17.0.1-10-g87f9f3f+1,17.0.1-11-ge9de802+16,17.0.1-16-ga14f7d5c+4,17.0.1-17-gc79d625+1,17.0.1-17-gdae4c4a+8,17.0.1-2-g26618f5+29,17.0.1-2-g54f2ebc+9,17.0.1-2-gf403422+1,17.0.1-20-g2ca2f74+6,17.0.1-23-gf3eadeb7+1,17.0.1-3-g7e86b59+39,17.0.1-3-gb5ca14a,17.0.1-3-gd08d533+40,17.0.1-30-g596af8797,17.0.1-4-g59d126d+4,17.0.1-4-gc69c472+5,17.0.1-6-g5afd9b9+4,17.0.1-7-g35889ee+1,17.0.1-7-gc7c8782+18,17.0.1-9-gc4bbfb2+3,w.2019.22
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.