LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Classes | Functions
lsst.afw.display.utils Namespace Reference

Classes

class  Mosaic
 

Functions

def drawBBox (bbox, borderWidth=0.0, origin=None, display="deferToFrame", ctype=None, bin=1, frame=None)
 
def drawFootprint (foot, borderWidth=0.5, origin=None, XY0=None, frame=None, ctype=None, bin=1, peaks=False, symb="+", size=0.4, ctypePeak=None, display="deferToFrame")
 
def drawCoaddInputs (exposure, frame=None, ctype=None, bin=1, display="deferToFrame")
 

Function Documentation

◆ drawBBox()

def lsst.afw.display.utils.drawBBox (   bbox,
  borderWidth = 0.0,
  origin = None,
  display = "deferToFrame",
  ctype = None,
  bin = 1,
  frame = None 
)
Draw a bounding box on a display frame with the specified ctype.

Parameters
----------
bbox : `lsst.geom.Box2I` or `lsst.geom.Box2D`
    The box to draw
borderWidth : `float`
    Include this many pixels
origin
    If specified, the box is shifted by ``origin``
display : `str`
ctype : `str`
    The desired color, either e.g. `lsst.afw.display.RED` or a color name known to X11
bin : `int`
    All BBox coordinates are divided by bin, as is right and proper for overlaying on a binned image
frame

Definition at line 346 of file utils.py.

346 def drawBBox(bbox, borderWidth=0.0, origin=None, display="deferToFrame", ctype=None, bin=1, frame=None):
347  """Draw a bounding box on a display frame with the specified ctype.
348 
349  Parameters
350  ----------
351  bbox : `lsst.geom.Box2I` or `lsst.geom.Box2D`
352  The box to draw
353  borderWidth : `float`
354  Include this many pixels
355  origin
356  If specified, the box is shifted by ``origin``
357  display : `str`
358  ctype : `str`
359  The desired color, either e.g. `lsst.afw.display.RED` or a color name known to X11
360  bin : `int`
361  All BBox coordinates are divided by bin, as is right and proper for overlaying on a binned image
362  frame
363  """
364  x0, y0 = bbox.getMinX(), bbox.getMinY()
365  x1, y1 = bbox.getMaxX(), bbox.getMaxY()
366 
367  if origin:
368  x0 += origin[0]
369  x1 += origin[0]
370  y0 += origin[1]
371  y1 += origin[1]
372 
373  x0 /= bin
374  y0 /= bin
375  x1 /= bin
376  y1 /= bin
377  borderWidth /= bin
378 
379  display = _getDisplayFromDisplayOrFrame(display, frame)
380  display.line([(x0 - borderWidth, y0 - borderWidth),
381  (x0 - borderWidth, y1 + borderWidth),
382  (x1 + borderWidth, y1 + borderWidth),
383  (x1 + borderWidth, y0 - borderWidth),
384  (x0 - borderWidth, y0 - borderWidth),
385  ], ctype=ctype)
386 
387 
def drawBBox(bbox, borderWidth=0.0, origin=None, display="deferToFrame", ctype=None, bin=1, frame=None)
Definition: utils.py:346

◆ drawCoaddInputs()

def lsst.afw.display.utils.drawCoaddInputs (   exposure,
  frame = None,
  ctype = None,
  bin = 1,
  display = "deferToFrame" 
)
Draw the bounding boxes of input exposures to a coadd on a display
frame with the specified ctype, assuming ``display.mtv()`` has already been
called on the given exposure on this frame.

All coordinates are divided by ``bin``, as is right and proper for overlaying on a binned image

Definition at line 458 of file utils.py.

458 def drawCoaddInputs(exposure, frame=None, ctype=None, bin=1, display="deferToFrame"):
459  """Draw the bounding boxes of input exposures to a coadd on a display
460  frame with the specified ctype, assuming ``display.mtv()`` has already been
461  called on the given exposure on this frame.
462 
463  All coordinates are divided by ``bin``, as is right and proper for overlaying on a binned image
464  """
465  coaddWcs = exposure.getWcs()
466  catalog = exposure.getInfo().getCoaddInputs().ccds
467 
468  offset = lsst.geom.PointD() - lsst.geom.PointD(exposure.getXY0())
469 
470  display = _getDisplayFromDisplayOrFrame(display, frame)
471 
472  with display.Buffering():
473  for record in catalog:
474  ccdBox = lsst.geom.Box2D(record.getBBox())
475  ccdCorners = ccdBox.getCorners()
476  coaddCorners = [coaddWcs.skyToPixel(record.getWcs().pixelToSky(point)) + offset
477  for point in ccdCorners]
478  display.line([(coaddCorners[i].getX()/bin, coaddCorners[i].getY()/bin)
479  for i in range(-1, 4)], ctype=ctype)
A floating-point coordinate rectangle geometry.
Definition: Box.h:413
def drawCoaddInputs(exposure, frame=None, ctype=None, bin=1, display="deferToFrame")
Definition: utils.py:458

◆ drawFootprint()

def lsst.afw.display.utils.drawFootprint (   foot,
  borderWidth = 0.5,
  origin = None,
  XY0 = None,
  frame = None,
  ctype = None,
  bin = 1,
  peaks = False,
  symb = "+",
  size = 0.4,
  ctypePeak = None,
  display = "deferToFrame" 
)
Draw an `lsst.afw.detection.Footprint` on a display frame with the specified ctype.

Parameters
----------
foot : `lsst.afw.detection.Footprint`
borderWidth : `float`
    Include an extra borderWidth pixels
origin
    If ``origin`` is present, it's arithmetically added to the Footprint
XY0
    if ``XY0`` is present is subtracted from the Footprint
frame
ctype : `str`
    The desired color, either e.g. `lsst.afw.display.RED` or a color name known to X11
bin : `int`
    All Footprint coordinates are divided by bin, as is right and proper
    for overlaying on a binned image
peaks : `bool`
    If peaks is `True`, also show the object's Peaks using the specified
    ``symb`` and ``size`` and ``ctypePeak``
symb : `str`
size : `float`
ctypePeak : `str`
    The desired color for peaks, either e.g. `lsst.afw.display.RED` or a color name known to X11
display : `str`

Definition at line 388 of file utils.py.

389  peaks=False, symb="+", size=0.4, ctypePeak=None, display="deferToFrame"):
390  """Draw an `lsst.afw.detection.Footprint` on a display frame with the specified ctype.
391 
392  Parameters
393  ----------
394  foot : `lsst.afw.detection.Footprint`
395  borderWidth : `float`
396  Include an extra borderWidth pixels
397  origin
398  If ``origin`` is present, it's arithmetically added to the Footprint
399  XY0
400  if ``XY0`` is present is subtracted from the Footprint
401  frame
402  ctype : `str`
403  The desired color, either e.g. `lsst.afw.display.RED` or a color name known to X11
404  bin : `int`
405  All Footprint coordinates are divided by bin, as is right and proper
406  for overlaying on a binned image
407  peaks : `bool`
408  If peaks is `True`, also show the object's Peaks using the specified
409  ``symb`` and ``size`` and ``ctypePeak``
410  symb : `str`
411  size : `float`
412  ctypePeak : `str`
413  The desired color for peaks, either e.g. `lsst.afw.display.RED` or a color name known to X11
414  display : `str`
415  """
416 
417  if XY0:
418  if origin:
419  raise RuntimeError("You may not specify both origin and XY0")
420  origin = (-XY0[0], -XY0[1])
421 
422  display = _getDisplayFromDisplayOrFrame(display, frame)
423  with display.Buffering():
424  borderWidth /= bin
425  for s in foot.getSpans():
426  y, x0, x1 = s.getY(), s.getX0(), s.getX1()
427 
428  if origin:
429  x0 += origin[0]
430  x1 += origin[0]
431  y += origin[1]
432 
433  x0 /= bin
434  x1 /= bin
435  y /= bin
436 
437  display.line([(x0 - borderWidth, y - borderWidth),
438  (x0 - borderWidth, y + borderWidth),
439  (x1 + borderWidth, y + borderWidth),
440  (x1 + borderWidth, y - borderWidth),
441  (x0 - borderWidth, y - borderWidth),
442  ], ctype=ctype)
443 
444  if peaks:
445  for p in foot.getPeaks():
446  x, y = p.getIx(), p.getIy()
447 
448  if origin:
449  x += origin[0]
450  y += origin[1]
451 
452  x /= bin
453  y /= bin
454 
455  display.dot(symb, x, y, size=size, ctype=ctypePeak)
456 
457