2 from lsst.afw.geom import SipApproximation, getPixelToIntermediateWorldCoords
 
    5 __all__ = (
"calculateSipWcsHeader",)
 
    9     """Generate a SIP WCS header approximating a given ``SkyWcs`` 
   13     wcs : `lsst.afw.geom.SkyWcs` 
   14         World Coordinate System to approximate as SIP. 
   16         SIP order (equal to the maximum sum of the polynomial exponents). 
   17     bbox : `lsst.geom.Box2I` 
   18         Bounding box over which to approximate the ``wcs``. 
   20         Spacing between sample points. 
   21     header : `lsst.daf.base.PropertyList`, optional 
   22         Header to which to add SIP WCS keywords. 
   26     header : `lsst.daf.base.PropertyList` 
   27         Header including SIP WCS keywords. 
   31     >>> header = calculateSipWcsHeader(exposure.getWcs(), 3, exposure.getBBox(), 20) 
   32     >>> sipWcs = SkyWcs(header) 
   35     crpix = wcs.getPixelOrigin()
 
   36     cdMatrix = wcs.getCdMatrix()
 
   37     crval = wcs.getSkyOrigin()
 
   38     gridNum = 
Extent2I(int(bbox.getWidth()/spacing + 0.5), int(bbox.getHeight()/spacing + 0.5))
 
   42     md = 
makeTanSipMetadata(sip.getPixelOrigin(), crval, sip.getCdMatrix(), sip.getA(), sip.getB(),
 
   43                             sip.getAP(), sip.getBP())
 
   45     if header 
is not None: