LSST Applications  21.0.0-147-g0e635eb1+1acddb5be5,22.0.0+052faf71bd,22.0.0+1ea9a8b2b2,22.0.0+6312710a6c,22.0.0+729191ecac,22.0.0+7589c3a021,22.0.0+9f079a9461,22.0.1-1-g7d6de66+b8044ec9de,22.0.1-1-g87000a6+536b1ee016,22.0.1-1-g8e32f31+6312710a6c,22.0.1-10-gd060f87+016f7cdc03,22.0.1-12-g9c3108e+df145f6f68,22.0.1-16-g314fa6d+c825727ab8,22.0.1-19-g93a5c75+d23f2fb6d8,22.0.1-19-gb93eaa13+aab3ef7709,22.0.1-2-g8ef0a89+b8044ec9de,22.0.1-2-g92698f7+9f079a9461,22.0.1-2-ga9b0f51+052faf71bd,22.0.1-2-gac51dbf+052faf71bd,22.0.1-2-gb66926d+6312710a6c,22.0.1-2-gcb770ba+09e3807989,22.0.1-20-g32debb5+b8044ec9de,22.0.1-23-gc2439a9a+fb0756638e,22.0.1-3-g496fd5d+09117f784f,22.0.1-3-g59f966b+1e6ba2c031,22.0.1-3-g849a1b8+f8b568069f,22.0.1-3-gaaec9c0+c5c846a8b1,22.0.1-32-g5ddfab5d3+60ce4897b0,22.0.1-4-g037fbe1+64e601228d,22.0.1-4-g8623105+b8044ec9de,22.0.1-5-g096abc9+d18c45d440,22.0.1-5-g15c806e+57f5c03693,22.0.1-7-gba73697+57f5c03693,master-g6e05de7fdc+c1283a92b8,master-g72cdda8301+729191ecac,w.2021.39
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