Camera geometry (lsst.afw.cameraGeom) has changed, as a result of DM-5922, which implements RFC-346. These changes are to support the new WCS class lsst.afw.geom.SkyWcs. Transforms are based on lsst.afw.geom.TransformPoint2ToPoint2 instead of XYTransform and the existing lsst.afw.cameraGeom.CameraTransformMap class is replaced by TransformMap, which now supports transformation between any two supported camera coordinate systems.
DM-5922 implements the needed changes in the DM stack, as follows:
- Use
TransformPoint2ToPoint2instead ofXYTransform(both inlsst.afw.geom):- xyTransformRegistry -> transformRegistry
- RadialXYTransform -> makeRadialTransform
- UnityXYTransform -> makeUnityTransform
- XYInverseTransform(xyTransform) -> transform.getInverse()
- Use
lsst.afw.cameraGeom.TransformMapinstead oflsst.afw.geom.CameraTransformMap(which is gone). The API has been updated to enhance flexibility and clarity. A reference camera system is only used to construct a transform map; after that all coordinate systems are treated equally and one can transform between any two supported coordinate systems:- Use methods
transform(point, fromsys, tosys)andgetTransform(fromsys, tosys) - Do not use
[csys]orget(csys) - Iterate to return supported
CameraSys
- Use methods
- The “pupil” camera system has been renamed to “field angle”, to match standards usage. Thus:
-
PUPIL->FIELD_ANGLEeverywhere -
"Pupil"->"FieldAngle"in persisted configs
-
-
Detector.getTransformnow takes two arguments, just likeTransformMap.getTransform. However, like the rest of theDetectorAPI,Detector.getTransformsupports camera system prefixes such asPIXELS, in addition to camera systems.