Changes Introduced in V1.6

The following describes the most significant changes which have occurred in the AST library between versions V1.5 and V1.6:

  1. The C interface to several methods (astTranNastTranN, astMarkastMark and astPolyCurveastPolyCurve) have been changed to make them easier to call from C++. Parameters which previously had type “double (*)[]” have been changed to the simpler “double *”. Using the old types may result in non-fatal compiler warnings, but should not change the behaviour of the methods.

  2. A bug has been fixed in the PlotPlot class which could cause groups of tick marks to be skipped when using very small gaps.

  3. A bug has been fixed in the Plot class which could cause axes to be labeled outside the visible window, resulting in no axes being visible.

  4. The FITS-WCS encoding used by the FitsChanFitsChan class now includes the WCSNAME keyword. When creating a FrameSetFrameSet from FITS headers, the values of the WCSNAME keywords are now used as the DomainDomain names for the corresponding Frames in the returned FrameSet. When writing a FrameSet to a FITS header the Domain names of each FrameFrame are stored in WCSNAME keywords in the header.

  5. The FITS-WCS encoding used by the FitsChan class now attempts to retain the identification letter associated with multiple axis descriptions. When reading a FrameSet from a FITS header, the identification letter is stored in the IdentIdent attribute for each Frame. When writing a FrameSet to a FITS header, the identification letter is read from the Ident attribute of each Frame. The letter to associate with each Frame can be changed by assigning a new value to the Frame's Ident attribute.

  6. The FITS-WCS, FITS-PC, FITS-IRAF and FITS-AIPS encodings used by the FitsChan class now create a SkyFrameSkyFrame with the SystemSystem attribute set to “Unknown” if the CTYPE keywords in the supplied header refers to an unknown celestial coordinate system. Previously, a Frame was used instead of a SkyFrame.

  7. The FITS-WCS, FITS-PC, FITS-IRAF and FITS-AIPS encodings used by the FitsChan class no longer report an error if the FITS header contains no CTYPE keywords. It is assumed that a missing CTYPE keyword implies that the world coordinate system is linear and identically equal to “intermediate world coordinates”.

  8. The new value “noctype” is now recognized by the WarningsWarnings attribute of the FitsChan class. This value causes warnings to be issued if CTYPE keywords are missing from foreign encodings.

  9. A new attribute called AllWarningsAllWarnings has been added to the FitsChan class. This is a read-only, space separated list of all the known condition names which can be specified in the Warnings attribute.

  10. The FitsChan class now attempts to assigns a TitleTitle to each Frame in a FrameSet read using a foreign encoding. The Title is based on the Domain name of the Frame. If the Frame has no Domain name, the default Title supplied by the Frame class is retained.

  11. The FitsChan class uses the comments associated with CTYPE keywords as axis labels when reading a foreign encoding. This behaviour has been modified so that the default labels provided by the Frame class are retained (instead of using the CTYPE comments) if any of the CTYPE comments are identical.

  12. A new “interpolation” scheme identified by the symbolic constant AST__BLOCKAVE has been added to the AST_RESAMPLE$<$X$>$ set of functions. The new scheme calculates each output pixel value by finding the mean of the input pixels in a box centred on the output pixel.

  13. The SkyFrame class can now be used to represent an arbitrary spherical coordinate system by setting its System attribute to “Unknown”.

  14. The indices of the latitude and longitude axes of a SkyFrame can now be found using new read-only attributes LatAxisLatAxis and LonAxisLonAxis. The effects of any axis permutation is taken into account.

  15. A new attribute called Ident has been added to the ObjectObject class. This serves the same purpose as the existing IDID attribute, but (unlike ID) its value is transferred to the new Object when a copy is made.

  16. A bug has been fixed which could prevent complex CmpFrames behaving correctly (for instance, resulting in the failure of attempts to find a MappingMapping between a CmpFrameCmpFrame and itself).