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
Functions
lsst.afw.geom.utils Namespace Reference

Functions

def wcsAlmostEqualOverBBox (wcs0, wcs1, bbox, maxDiffSky=0.01 *lsst.geom.arcseconds, maxDiffPix=0.01, nx=5, ny=5)
 
def assertWcsAlmostEqualOverBBox (testCase, wcs0, wcs1, bbox, maxDiffSky=0.01 *lsst.geom.arcseconds, maxDiffPix=0.01, nx=5, ny=5, msg="WCSs differ")
 
def makeEndpoints (testCase)
 

Function Documentation

◆ assertWcsAlmostEqualOverBBox()

def lsst.afw.geom.utils.assertWcsAlmostEqualOverBBox (   testCase,
  wcs0,
  wcs1,
  bbox,
  maxDiffSky = 0.01*lsst.geom.arcseconds,
  maxDiffPix = 0.01,
  nx = 5,
  ny = 5,
  msg = "WCSs differ" 
)
Assert that two :py:class:`WCS <lsst.afw.geom.SkyWcs>` are almost equal over a grid of pixel positions

Compare pixelToSky and skyToPixel for two WCS over a rectangular grid of pixel positions.
If the WCS are too divergent at any point, call testCase.fail; the message describes
the largest error measured in pixel coordinates (if sky to pixel error was excessive)
and sky coordinates (if pixel to sky error was excessive) across the entire pixel grid.

Parameters
----------
testCase : `unittest.TestCase`
    test case the test is part of; an object supporting one method: fail(self, msgStr)
wcs0 : `lsst.afw.geom.SkyWcs`
    WCS 0
wcs1 : `lsst.afw.geom.SkyWcs`
    WCS 1
bbox : `lsst.geom.Box2I` or `lsst.geom.Box2D`
    boundaries of pixel grid over which to compare the WCSs
maxDiffSky : `lsst.geom.Angle`
    maximum separation between sky positions computed using Wcs.pixelToSky
maxDiffPix : `float`
    maximum separation between pixel positions computed using Wcs.skyToPixel
nx : `int`
    number of points in x for the grid of pixel positions
ny : `int`
    number of points in y for the grid of pixel positions
msg : `str`
    exception message prefix; details of the error are appended after ": "

Definition at line 155 of file utils.py.

156  maxDiffPix=0.01, nx=5, ny=5, msg="WCSs differ"):
157  """Assert that two :py:class:`WCS <lsst.afw.geom.SkyWcs>` are almost equal over a grid of pixel positions
158 
159  Compare pixelToSky and skyToPixel for two WCS over a rectangular grid of pixel positions.
160  If the WCS are too divergent at any point, call testCase.fail; the message describes
161  the largest error measured in pixel coordinates (if sky to pixel error was excessive)
162  and sky coordinates (if pixel to sky error was excessive) across the entire pixel grid.
163 
164  Parameters
165  ----------
166  testCase : `unittest.TestCase`
167  test case the test is part of; an object supporting one method: fail(self, msgStr)
168  wcs0 : `lsst.afw.geom.SkyWcs`
169  WCS 0
170  wcs1 : `lsst.afw.geom.SkyWcs`
171  WCS 1
172  bbox : `lsst.geom.Box2I` or `lsst.geom.Box2D`
173  boundaries of pixel grid over which to compare the WCSs
174  maxDiffSky : `lsst.geom.Angle`
175  maximum separation between sky positions computed using Wcs.pixelToSky
176  maxDiffPix : `float`
177  maximum separation between pixel positions computed using Wcs.skyToPixel
178  nx : `int`
179  number of points in x for the grid of pixel positions
180  ny : `int`
181  number of points in y for the grid of pixel positions
182  msg : `str`
183  exception message prefix; details of the error are appended after ": "
184  """
185  errMsg = _compareWcsOverBBox(
186  wcs0=wcs0,
187  wcs1=wcs1,
188  bbox=bbox,
189  maxDiffSky=maxDiffSky,
190  maxDiffPix=maxDiffPix,
191  nx=nx,
192  ny=ny,
193  doShortCircuit=False,
194  )
195  if errMsg:
196  testCase.fail(f"{msg}: {errMsg}")
197 
198 
199 @lsst.utils.tests.inTestCase

◆ makeEndpoints()

def lsst.afw.geom.utils.makeEndpoints (   testCase)
Generate a representative sample of ``Endpoints``.

Parameters
----------
testCase : `unittest.TestCase`
    test case the test is part of; an object supporting one method: fail(self, msgStr)

Returns
-------
endpoints : `list`
    List of endpoints with enough diversity to exercise ``Endpoint``-related
    code. Each invocation of this method shall return independent objects.

Definition at line 200 of file utils.py.

200 def makeEndpoints(testCase):
201  """Generate a representative sample of ``Endpoints``.
202 
203  Parameters
204  ----------
205  testCase : `unittest.TestCase`
206  test case the test is part of; an object supporting one method: fail(self, msgStr)
207 
208  Returns
209  -------
210  endpoints : `list`
211  List of endpoints with enough diversity to exercise ``Endpoint``-related
212  code. Each invocation of this method shall return independent objects.
213  """
214  return [GenericEndpoint(n) for n in range(1, 6)] + \
215  [Point2Endpoint(), SpherePointEndpoint()]
def makeEndpoints(testCase)
Definition: utils.py:200

◆ wcsAlmostEqualOverBBox()

def lsst.afw.geom.utils.wcsAlmostEqualOverBBox (   wcs0,
  wcs1,
  bbox,
  maxDiffSky = 0.01*lsst.geom.arcseconds,
  maxDiffPix = 0.01,
  nx = 5,
  ny = 5 
)
Test if two :py:class:`WCS <lsst.afw.geom.SkyWcs>` are almost equal over a grid of pixel positions.

Parameters
----------
wcs0 : `lsst.afw.geom.SkyWcs`
    WCS 0
wcs1 : `lsst.afw.geom.SkyWcs`
    WCS 1
bbox : `lsst.geom.Box2I` or `lsst.geom.Box2D`
    boundaries of pixel grid over which to compare the WCSs
maxDiffSky : `lsst.geom.Angle`
    maximum separation between sky positions computed using Wcs.pixelToSky
maxDiffPix : `float`
    maximum separation between pixel positions computed using Wcs.skyToPixel
nx : `int`
    number of points in x for the grid of pixel positions
ny : `int`
    number of points in y for the grid of pixel positions

Returns
-------
almostEqual: `bool`
    `True` if two WCS are almost equal over a grid of pixel positions, else `False`

Definition at line 116 of file utils.py.

117  maxDiffPix=0.01, nx=5, ny=5):
118  """Test if two :py:class:`WCS <lsst.afw.geom.SkyWcs>` are almost equal over a grid of pixel positions.
119 
120  Parameters
121  ----------
122  wcs0 : `lsst.afw.geom.SkyWcs`
123  WCS 0
124  wcs1 : `lsst.afw.geom.SkyWcs`
125  WCS 1
126  bbox : `lsst.geom.Box2I` or `lsst.geom.Box2D`
127  boundaries of pixel grid over which to compare the WCSs
128  maxDiffSky : `lsst.geom.Angle`
129  maximum separation between sky positions computed using Wcs.pixelToSky
130  maxDiffPix : `float`
131  maximum separation between pixel positions computed using Wcs.skyToPixel
132  nx : `int`
133  number of points in x for the grid of pixel positions
134  ny : `int`
135  number of points in y for the grid of pixel positions
136 
137  Returns
138  -------
139  almostEqual: `bool`
140  `True` if two WCS are almost equal over a grid of pixel positions, else `False`
141  """
142  return not bool(_compareWcsOverBBox(
143  wcs0=wcs0,
144  wcs1=wcs1,
145  bbox=bbox,
146  maxDiffSky=maxDiffSky,
147  maxDiffPix=maxDiffPix,
148  nx=nx,
149  ny=ny,
150  doShortCircuit=True,
151  ))
152 
153 
154 @lsst.utils.tests.inTestCase