## Changes Introduced in V5.2

The following describes the most significant changes which occurred in the AST library between versions V5.1 and V5.2:

1. A new method called astSetFitsCMastSetFitsCM has been added to the FitsChanFitsChan class. It stores a pure comment card in a FitsChan (that is, a card with no keyword name or equals sign).

2. A new attribute called ObsAltObsAlt has been added to the FrameFrame class. It records the geodetic altitude of the observer, in metres. It defaults to zero. It is used when converting times to or from the TDB timescale, or converting spectral positions to or from the topocentric rest frame, or converting sky positions to or from horizon coordinates. The FitsChan class will include its effect when creating a set of values for the OBSGEO-X/Y/Z keywords, and will also assign a value to it when reading a set of OBSGEO-X/Y/Z keyword values from a FITS header.

3. The TimeMapTimeMap conversions “TTTOTDB” and “TDBTOTT”, and the SpecMapSpecMap conversions “TPF2HL” and “HLF2TP”, now have an additional argument - the observer's geodetic altitude.

4. The PolygonPolygon class has been modified to make it consistent with the IVOA STC definition of a Polygon. Specifically, the inside of a polygon is now the area to the left of each edge as the vertices are traversed in an anti-clockwise manner, as seen from the inside of the celestial sphere. Previously, AST used the anti-clockwise convention, but viewed from the outside of the celestial sphere instead of the inside. Any Polygon saved using previous versions of AST will be identified and negated automatically when read by AST V5.2.

5. A new class of ChannelChannel, called StcsChanStcsChan, has been added that allows conversion of suitable AST Objects to and from IVOA STC-S format.

6. A new method called astRemoveRegionsastRemoveRegions has been added to the MappingMapping class. It searches a (possibly compound) Mapping (or Frame) for any instances of the AST RegionRegion class, and either removes them, or replaces them with UnitMaps (or equivalent Frames). It can be used to remove the masking effects of Regions from a compound Mapping or Frame.

7. A new method called astDownsizeastDownsize has been added to the Polygon class. It produces a new Polygon that contains a subset of the vertices in the supplied Polygon. The subset is chosen to retain the main features of the supplied Polygion, in so far as that is possible, within specified constraints.

8. A new constructor called astOutline has been added to the Polygon class. Given a 2D data array, it identifies the boundary of a region within the array that holds pixels with specified values. It then creates a new Polygon to describe this boundary to a specified accuracy.

9. A new set of methods, called astMapGetElem<X> has been added to the KeyMapKeyMap class. They allow a single element of a vector valued entry to be returned.

10. A new attribute called KeyErrorKeyError has been added to the KeyMap ClassClass. It controls whether the astMapGet... family of functions report an error if an entry with the requested key does not exist in the KeyMap.