LSST Applications g00d0e8bbd7+edbf708997,g03191d30f7+9ce8016dbd,g1955dfad08+0bd186d245,g199a45376c+5137f08352,g1fd858c14a+a888a50aa2,g262e1987ae+45f9aba685,g29ae962dfc+1c7d47a24f,g2cef7863aa+73c82f25e4,g35bb328faa+edbf708997,g3fd5ace14f+eed17d2c67,g47891489e3+6dc8069a4c,g53246c7159+edbf708997,g64539dfbff+c4107e45b5,g67b6fd64d1+6dc8069a4c,g74acd417e5+f452e9c21a,g786e29fd12+af89c03590,g7ae74a0b1c+a25e60b391,g7aefaa3e3d+2025e9ce17,g7cc15d900a+2d158402f9,g87389fa792+a4172ec7da,g89139ef638+6dc8069a4c,g8d4809ba88+c4107e45b5,g8d7436a09f+e96c132b44,g8ea07a8fe4+db21c37724,g98df359435+aae6d409c1,ga2180abaac+edbf708997,gac66b60396+966efe6077,gb632fb1845+88945a90f8,gbaa8f7a6c5+38b34f4976,gbf99507273+edbf708997,gca7fc764a6+6dc8069a4c,gd7ef33dd92+6dc8069a4c,gda68eeecaf+7d1e613a8d,gdab6d2f7ff+f452e9c21a,gdbb4c4dda9+c4107e45b5,ge410e46f29+6dc8069a4c,ge41e95a9f2+c4107e45b5,geaed405ab2+e194be0d2b,w.2025.47
LSST Data Management Base Package
Loading...
Searching...
No Matches
lsst.afw.cameraGeom.testUtils Namespace Reference

Classes

class  CameraWrapper
 
class  DetectorWrapper
 

Functions

 compare2DFunctions (self, func1, func2, minVal=-10, maxVal=None, nVal=5)
 
 assertTransformMapsEqual (self, map1, map2, **kwds)
 
 assertAmplifiersEqual (self, amp1, amp2)
 
 assertDetectorsEqual (self, detector1, detector2, *, compareTransforms=True, **kwds)
 
 assertDetectorCollectionsEqual (self, collection1, collection2, **kwds)
 
 assertCamerasEqual (self, camera1, camera2, **kwds)
 

Function Documentation

◆ assertAmplifiersEqual()

lsst.afw.cameraGeom.testUtils.assertAmplifiersEqual ( self,
amp1,
amp2 )

Definition at line 469 of file testUtils.py.

469def assertAmplifiersEqual(self, amp1, amp2):
470 self.assertEqual(amp1.getName(), amp2.getName())
471 self.assertEqual(amp1.getBBox(), amp2.getBBox())
472 self.assertFloatsEqual(amp1.getGain(), amp2.getGain(), ignoreNaNs=True)
473 self.assertFloatsEqual(amp1.getReadNoise(), amp2.getReadNoise(), ignoreNaNs=True)
474 self.assertFloatsEqual(amp1.getSaturation(), amp2.getSaturation(), ignoreNaNs=True)
475 self.assertEqual(amp1.getReadoutCorner(), amp2.getReadoutCorner())
476 self.assertFloatsEqual(amp1.getSuspectLevel(), amp2.getSuspectLevel(), ignoreNaNs=True)
477 self.assertEqual(amp1.getLinearityCoeffs().shape, amp2.getLinearityCoeffs().shape)
478 self.assertFloatsEqual(amp1.getLinearityCoeffs(), amp2.getLinearityCoeffs(), ignoreNaNs=True)
479 self.assertEqual(amp1.getLinearityType(), amp2.getLinearityType())
480 self.assertFloatsEqual(amp1.getLinearityThreshold(), amp2.getLinearityThreshold(), ignoreNaNs=True)
481 self.assertFloatsEqual(amp1.getLinearityMaximum(), amp2.getLinearityMaximum(), ignoreNaNs=True)
482 self.assertEqual(amp1.getLinearityUnits(), amp2.getLinearityUnits())
483 self.assertEqual(amp1.getRawBBox(), amp2.getRawBBox())
484 self.assertEqual(amp1.getRawDataBBox(), amp2.getRawDataBBox())
485 self.assertEqual(amp1.getRawFlipX(), amp2.getRawFlipX())
486 self.assertEqual(amp1.getRawFlipY(), amp2.getRawFlipY())
487 self.assertEqual(amp1.getRawHorizontalOverscanBBox(), amp2.getRawHorizontalOverscanBBox())
488 self.assertEqual(amp1.getRawVerticalOverscanBBox(), amp2.getRawVerticalOverscanBBox())
489 self.assertEqual(amp1.getRawPrescanBBox(), amp2.getRawPrescanBBox())
490
491
492@inTestCase

◆ assertCamerasEqual()

lsst.afw.cameraGeom.testUtils.assertCamerasEqual ( self,
camera1,
camera2,
** kwds )
Compare two Cameras.

Definition at line 527 of file testUtils.py.

527def assertCamerasEqual(self, camera1, camera2, **kwds):
528 """Compare two Cameras.
529 """
530 self.assertDetectorCollectionsEqual(camera1, camera2, **kwds)
531 self.assertTransformMapsEqual(camera1.getTransformMap(), camera2.getTransformMap())
532 self.assertEqual(camera1.getName(), camera2.getName())
533 self.assertEqual(camera1.getPupilFactoryName(), camera2.getPupilFactoryName())
534 self.assertEqual(camera1.getFocalPlaneParity(), camera2.getFocalPlaneParity())

◆ assertDetectorCollectionsEqual()

lsst.afw.cameraGeom.testUtils.assertDetectorCollectionsEqual ( self,
collection1,
collection2,
** kwds )
Compare two DetectorCollections.

Definition at line 518 of file testUtils.py.

518def assertDetectorCollectionsEqual(self, collection1, collection2, **kwds):
519 """Compare two DetectorCollections.
520 """
521 self.assertCountEqual(list(collection1.getNameIter()), list(collection2.getNameIter()))
522 for k in collection1.getNameIter():
523 self.assertDetectorsEqual(collection1[k], collection2[k], **kwds)
524
525
526@inTestCase

◆ assertDetectorsEqual()

lsst.afw.cameraGeom.testUtils.assertDetectorsEqual ( self,
detector1,
detector2,
* ,
compareTransforms = True,
** kwds )
Compare two Detectors.

Definition at line 493 of file testUtils.py.

493def assertDetectorsEqual(self, detector1, detector2, *, compareTransforms=True, **kwds):
494 """Compare two Detectors.
495 """
496 self.assertEqual(detector1.getName(), detector2.getName())
497 self.assertEqual(detector1.getId(), detector2.getId())
498 self.assertEqual(detector1.getSerial(), detector2.getSerial())
499 self.assertEqual(detector1.getPhysicalType(), detector2.getPhysicalType())
500 self.assertEqual(detector1.getBBox(), detector2.getBBox())
501 self.assertEqual(detector1.getPixelSize(), detector2.getPixelSize())
502 orientationIn = detector1.getOrientation()
503 orientationOut = detector2.getOrientation()
504 self.assertEqual(orientationIn.getFpPosition(), orientationOut.getFpPosition())
505 self.assertEqual(orientationIn.getReferencePoint(), orientationOut.getReferencePoint())
506 self.assertEqual(orientationIn.getYaw(), orientationOut.getYaw())
507 self.assertEqual(orientationIn.getPitch(), orientationOut.getPitch())
508 self.assertEqual(orientationIn.getRoll(), orientationOut.getRoll())
509 self.assertFloatsEqual(detector1.getCrosstalk(), detector2.getCrosstalk())
510 if compareTransforms:
511 self.assertTransformMapsEqual(detector1.getTransformMap(), detector2.getTransformMap(), **kwds)
512 self.assertEqual(len(detector1.getAmplifiers()), len(detector2.getAmplifiers()))
513 for amp1, amp2 in zip(detector1.getAmplifiers(), detector2.getAmplifiers()):
514 self.assertAmplifiersEqual(amp1, amp2)
515
516
517@inTestCase

◆ assertTransformMapsEqual()

lsst.afw.cameraGeom.testUtils.assertTransformMapsEqual ( self,
map1,
map2,
** kwds )
Compare two TransformMaps.

Definition at line 455 of file testUtils.py.

455def assertTransformMapsEqual(self, map1, map2, **kwds):
456 """Compare two TransformMaps.
457 """
458 self.assertEqual(list(map1), list(map2)) # compares the sets of CameraSys
459 for sysFrom in map1:
460 for sysTo in map1:
461 with self.subTest(sysFrom=repr(sysFrom), sysTo=repr(sysTo)):
462 transform1 = map1.getTransform(sysFrom, sysTo)
463 transform2 = map2.getTransform(sysFrom, sysTo)
464 self.compare2DFunctions(transform1.applyForward, transform2.applyForward, **kwds)
465 self.compare2DFunctions(transform1.applyInverse, transform2.applyInverse, **kwds)
466
467
468@inTestCase

◆ compare2DFunctions()

lsst.afw.cameraGeom.testUtils.compare2DFunctions ( self,
func1,
func2,
minVal = -10,
maxVal = None,
nVal = 5 )
Compare two Point2D(list(Point2D)) functions by evaluating them over a
range of values.

Notes
-----
Assumes the functions can be called with ``list[Point2D]`` and return
``list[Point2D]``.

Definition at line 428 of file testUtils.py.

428def compare2DFunctions(self, func1, func2, minVal=-10, maxVal=None, nVal=5):
429 """Compare two Point2D(list(Point2D)) functions by evaluating them over a
430 range of values.
431
432 Notes
433 -----
434 Assumes the functions can be called with ``list[Point2D]`` and return
435 ``list[Point2D]``.
436 """
437 if maxVal is None:
438 maxVal = -minVal
439 dVal = (maxVal - minVal) / (nVal - 1)
440 points = []
441 for xInd in range(nVal):
442 x = minVal + (xInd * dVal)
443 for yInd in range(nVal):
444 y = minVal + (yInd * dVal)
445 fromPoint = lsst.geom.Point2D(x, y)
446 points.append(fromPoint)
447
448 vres1 = func1(points)
449 vres2 = func2(points)
450 for res1, res2 in zip(vres1, vres2):
451 self.assertPairsAlmostEqual(res1, res2)
452
453
454@inTestCase