Loading [MathJax]/extensions/tex2jax.js
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
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Functions
lsst.afw.display.ds9Regions Namespace Reference

Functions

def dot (symb, c, r, size, ctype=None, fontFamily="helvetica", textAngle=None)
 
def drawLines (points, ctype=None)
 

Function Documentation

◆ dot()

def lsst.afw.display.ds9Regions.dot (   symb,
  c,
  r,
  size,
  ctype = None,
  fontFamily = "helvetica",
  textAngle = None 
)
Draw a symbol onto the specified DS9 frame.

Parameters
----------
symb
    Possible values are:

        ``"+"``
            Draw a +
        ``"x"``
            Draw an x
        ``"*"``
            Draw a *
        ``"o"``
            Draw a circle
        ``"@:Mxx,Mxy,Myy"``
            Draw an ellipse with moments (Mxx, Mxy, Myy) (argument size is ignored)
        `lsst.afw.geom.ellipses.BaseCore`
            Draw the ellipse (argument size is ignored). N.b. objects
            derived from `~lsst.afw.geom.ellipses.BaseCore` include
            `~lsst.afw.geom.ellipses.Axes` and `~lsst.afw.geom.ellipses.Quadrupole`.
        Any other value
            Interpreted as a string to be drawn. Strings obey the ``fontFamily``
            (which may be extended with other characteristics, e.g. "times
            bold italic".  Text will be drawn rotated by ``textAngle``
            (textAngle is ignored otherwise).
c, r
    Zero-based coordinates at which to draw the symbol
size
ctype : `str`
    the name of the desired color (e.g. 'red', 'orchid')
fontFamily
textAngle

Definition at line 27 of file ds9Regions.py.

27 def dot(symb, c, r, size, ctype=None, fontFamily="helvetica", textAngle=None):
28  """Draw a symbol onto the specified DS9 frame.
29 
30  Parameters
31  ----------
32  symb
33  Possible values are:
34 
35  ``"+"``
36  Draw a +
37  ``"x"``
38  Draw an x
39  ``"*"``
40  Draw a *
41  ``"o"``
42  Draw a circle
43  ``"@:Mxx,Mxy,Myy"``
44  Draw an ellipse with moments (Mxx, Mxy, Myy) (argument size is ignored)
45  `lsst.afw.geom.ellipses.BaseCore`
46  Draw the ellipse (argument size is ignored). N.b. objects
47  derived from `~lsst.afw.geom.ellipses.BaseCore` include
48  `~lsst.afw.geom.ellipses.Axes` and `~lsst.afw.geom.ellipses.Quadrupole`.
49  Any other value
50  Interpreted as a string to be drawn. Strings obey the ``fontFamily``
51  (which may be extended with other characteristics, e.g. "times
52  bold italic". Text will be drawn rotated by ``textAngle``
53  (textAngle is ignored otherwise).
54  c, r
55  Zero-based coordinates at which to draw the symbol
56  size
57  ctype : `str`
58  the name of the desired color (e.g. 'red', 'orchid')
59  fontFamily
60  textAngle
61  """
62  if ctype is None:
63  color = "" # the default
64  else:
65  color = ' # color=%s' % ctype
66 
67  regions = []
68 
69  r += 1
70  c += 1 # ds9 uses 1-based coordinates
71  if isinstance(symb, afwGeom.ellipses.Axes):
72  regions.append('ellipse %g %g %gi %gi %g%s' % (c, r, symb.getA(), symb.getB(),
73  math.degrees(symb.getTheta()), color))
74  elif symb == '+':
75  regions.append('line %g %g %g %g%s' % (c, r+size, c, r-size, color))
76  regions.append('line %g %g %g %g%s' % (c-size, r, c+size, r, color))
77  elif symb == 'x':
78  size = size/math.sqrt(2)
79  regions.append('line %g %g %g %g%s' %
80  (c+size, r+size, c-size, r-size, color))
81  regions.append('line %g %g %g %g%s' %
82  (c-size, r+size, c+size, r-size, color))
83  elif symb == '*':
84  size30 = 0.5*size
85  size60 = 0.5*math.sqrt(3)*size
86  regions.append('line %g %g %g %g%s' % (c+size, r, c-size, r, color))
87  regions.append('line %g %g %g %g%s' %
88  (c-size30, r+size60, c+size30, r-size60, color))
89  regions.append('line %g %g %g %g%s' %
90  (c+size30, r+size60, c-size30, r-size60, color))
91  elif symb == 'o':
92  regions.append('circle %g %g %gi%s' % (c, r, size, color))
93  else:
94  color = re.sub("^ # ", "", color) # skip the leading " # "
95 
96  angle = ""
97  if textAngle is not None:
98  angle += " textangle=%.1f"%(textAngle)
99 
100  font = ""
101  if size != 2 or fontFamily != "helvetica":
102  fontFamily = fontFamily.split()
103  font += ' font="%s %d' % (fontFamily.pop(0),
104  int(10*size/2.0 + 0.5))
105  if not fontFamily:
106  # appears to be needed at least for 7.4b1
107  fontFamily = ["normal"]
108  font += " " + " ".join(fontFamily)
109  font += '"'
110  extra = ""
111  if color or angle or font:
112  extra = " # "
113  extra += color
114  extra += angle
115  extra += font
116 
117  regions.append('text %g %g \"%s\"%s' % (c, r, symb, extra))
118 
119  return regions
120 
121 
def dot(symb, c, r, size, ctype=None, fontFamily="helvetica", textAngle=None)
Definition: ds9Regions.py:27

◆ drawLines()

def lsst.afw.display.ds9Regions.drawLines (   points,
  ctype = None 
)
Draw a line by connecting the points

Parameters
----------
points : `list` of `tuple` of `float`
    a list of (col,row)
ctype : `str`
    the name of the desired color (e.g. 'red', 'orchid')

Definition at line 122 of file ds9Regions.py.

122 def drawLines(points, ctype=None):
123  """Draw a line by connecting the points
124 
125  Parameters
126  ----------
127  points : `list` of `tuple` of `float`
128  a list of (col,row)
129  ctype : `str`
130  the name of the desired color (e.g. 'red', 'orchid')
131  """
132 
133  if ctype is None: # default
134  color = ""
135  else:
136  color = f"# color={ctype}"
137 
138  regions = []
139  if len(points) > 0:
140  c0, r0 = points[0]
141  r0 += 1
142  c0 += 1 # ds9 uses 1-based coordinates
143  for (c, r) in points[1:]:
144  r += 1
145  c += 1 # ds9 uses 1-based coordinates
146  regions.append('line %g %g %g %g %s' % (c0, r0, c, r, color))
147  c0, r0 = c, r
148 
149  return regions
def drawLines(points, ctype=None)
Definition: ds9Regions.py:122