The astshim package is now part of the DM stack, as a dependency of afw, and this also brings in starlink_ast. These packages provide support for WCS and transforms, and will be used as the basis for the new WCS class, as per RFC-193.
astshim supports transformation of ndarray and std::vector data. In order to transform LSST types lsst.afw.geom.Point<double, N> and lsst.afw.geom.SpherePoint, and vectors of the same, afw.geom contains the following classes:
-
Transform<FromEndpoint, ToEndpoint>: a class containing an AST “frame set” (basically a transformation),
templated on a pair of “endpoints” which translate between LSST types and the ndarrays used byastshim. -
EndpointsubclassesPoint2Endpoint,Point3Endpoint,SpherePointEndpointandGenericEndpoint(for n-dimensional ndarray data).
The new celestial WCS class will be a subclass of Transform<Point2Endpoint, SpherePointEndpoint>.