Astshim and AST are now part of the DM stack

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 by astshim.
  • Endpoint subclasses Point2Endpoint, Point3Endpoint, SpherePointEndpoint and GenericEndpoint (for n-dimensional ndarray data).

The new celestial WCS class will be a subclass of Transform<Point2Endpoint, SpherePointEndpoint>.